blob: a51be19b9bfae6504de556dcfbe31e28422589c9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
#!/bin/bash
# SPDX-license-identifier: Apache-2.0
##############################################################################
# Copyright (c) 2018
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
set -o nounset
set -o pipefail
# usage() - Prints the usage of the program
function usage {
cat <<EOF
usage: $0 [-v volumes]
Optional Argument:
-v List of key pair values for volumes and mount points ( e. g. sda=/var/lib/docker/,sdb=/var/lib/libvirt/ )
EOF
}
# mount_external_partition() - Create partition and mount the external volume
function mount_external_partition {
local dev_name="/dev/$1"
local mount_dir=$2
sfdisk $dev_name --no-reread << EOF
;
EOF
mkfs -t ext4 ${dev_name}1
mkdir -p $mount_dir
mount ${dev_name}1 $mount_dir
echo "${dev_name}1 $mount_dir ext4 errors=remount-ro,noatime,barrier=0 0 1" >> /etc/fstab
}
while getopts "h?v:" opt; do
case $opt in
v)
dict_volumes="$OPTARG"
;;
h|\?)
usage
exit
;;
esac
done
swapoff -a
if [[ -n "${dict_volumes+x}" ]]; then
for kv in ${dict_volumes//,/ } ;do
mount_external_partition ${kv%=*} ${kv#*=}
done
fi
vendor_id=$(lscpu|grep "Vendor ID")
if [[ $vendor_id == *GenuineIntel* ]]; then
kvm_ok=$(cat /sys/module/kvm_intel/parameters/nested)
if [[ $kvm_ok == 'N' ]]; then
echo "Enable Intel Nested-Virtualization"
rmmod kvm-intel
echo 'options kvm-intel nested=y' >> /etc/modprobe.d/dist.conf
modprobe kvm-intel
echo kvm-intel >> /etc/modules
fi
else
kvm_ok=$(cat /sys/module/kvm_amd/parameters/nested)
if [[ $kvm_ok == '0' ]]; then
echo "Enable AMD Nested-Virtualization"
rmmod kvm-amd
sh -c "echo 'options kvm-amd nested=1' >> /etc/modprobe.d/dist.conf"
modprobe kvm-amd
echo kvm-amd >> /etc/modules
fi
fi
modprobe vhost_net
echo vhost_net >> /etc/modules
source /etc/os-release || source /usr/lib/os-release
case ${ID,,} in
*suse)
;;
ubuntu|debian)
apt-get install -y cpu-checker
kvm-ok
;;
rhel|centos|fedora)
;;
esac
|