标题添加硬件
show_all (){
virsh list --all
}
gen_new(){
source ./lib/install-new.sh
}
fast_new(){
echo “利用模板创建一个新的虚拟机”
read -p “name:>>” vm_name
vm_uuid=
(
u
u
i
d
g
e
n
)
v
m
m
a
c
=
(uuidgen) vm_mac=
(uuidgen)vmmac=(openssl rand -hex 3 | sed -r ‘s/…\B/&:/g’)
read -p “磁盘路径(例如:/kvm/disk/xxx.qcow2)>>” vm_disk_path
read -p “磁盘名字:>>” vm_disk_name
source ./module/centos7-mod.xml > ./tmp/centos7_
v
m
n
a
m
e
.
x
m
l
c
p
/
h
o
m
e
/
k
v
m
/
v
i
r
t
u
a
l
−
i
m
g
/
c
e
n
t
o
s
20201210
T
210142.
q
c
o
w
2.
/
d
i
s
k
/
{vm_name}.xml cp /home/kvm/virtual-img/centos20201210T210142.qcow2 ./disk/
vmname.xmlcp/home/kvm/virtual−img/centos20201210T210142.qcow2./disk/{vm_name}.qcow2 #注意我这里是有已经创好的虚拟机文件
virsh define ./tmp/centos7_${vm_name}.xml
virsh start ${vm_name}
virsh domifaddr ${vm_name}
}
add_disk(){
echo “给指定的虚拟机添加硬盘”
look=virsh list --all | awk 'NR !=1 && NR !=2 {printf "%s,%s",$2," "}'
echo “现有的虚拟机有${look}”
read -p “请输入创建磁盘的容量(例如:2)(G)>>:” disk_size
read -p “请输入虚拟机配置文件的路径(例如:/kvm/disk/xxx.qcow2)>>:” config_file_path
read -p “输入添加磁盘的虚拟机名字>>:” vm_name
vir_shell=$(virsh domblklist ${vm_name} | grep ^vd | awk '{printKaTeX parse error: Expected 'EOF', got '}' at position 2: 1}̲' | tail -1) # …{vir_shell:2:1} # 截取最后一个字母
num=
(
p
r
i
n
t
f
"
(printf "%d" "'
(printf"{letter}")
if [[ "
n
u
m
"
=
=
122
]
]
;
t
h
e
n
e
c
h
o
"
输
入
错
误
。
。
不
能
继
续
创
建
。
。
。
"
e
x
i
t
f
i
n
e
x
t
n
u
m
=
num" == 122 ]];then echo "输入错误。。不能继续创建。。。" exit fi next_num=
num"==122]];thenecho"输入错误。。不能继续创建。。。"exitfinextnum=((
n
u
m
+
1
)
)
n
e
x
t
l
e
t
t
e
r
=
num + 1)) next_letter=
num+1))nextletter=(printf \xprintf %x ${next_num}
)
new_disk_name=“vd${next_letter}”
echo $new_disk_name
qemu-img create -f qcow2 ${config_file_path} KaTeX parse error: Expected group after '_' at position 57: …ml > ./tmp/disk_̲{vm_name}.xml
virsh attach-device KaTeX parse error: Expected group after '_' at position 21: …ame} ./tmp/disk_̲{vm_name}.xml --persistent
virsh domblklist ${vm_name}
}
add_net(){
#给指定的虚拟机添加网卡
look=virsh list --all | awk 'NR !=1 && NR !=2 {printf "%s,%s",$2," "}'
echo “现有的虚拟机有${look}”
read -p “输入需要添加网卡的虚拟机名称>>:” vm_name
mac=$(openssl rand -hex 3 | sed -r 's/..\B/&:/g')
echo "已经给虚拟机[${vm_name}] 创建了 MAC:${mac}"
source ./module/network-mod.xml > ./tmp/network_${vm_name}.xml
echo "已经创建了 XML 配置文件"
virsh attach-device ${vm_name} ./tmp/network_${vm_name}.xml --persistent
echo "已经添加了网卡"
virsh domiflist ${vm_name}
}
配置循环
for i in {a…z}
do
virsh domblklist centos7-1 | grep “^vd${i}” > /dev/null
if [ $? -ne 0 ];then
break
fi
done
disk=vd${i}
echo $disk