1.打开virt-manager
virt-manager
2.双击QEMU/KVM,打开存储,左下角点击添加池,右边加号选择添加卷
或者利用命令行创建
virsh vol-create-as --pool vmpool --name vol1.qcow2 1G --format qcow2
3.将磁盘附加到虚拟机
注意:下面这个命令需要保持虚拟机处于启动状态
virsh attach-disk ubuntuserver16.04 /home/lln/vmpool/vol1.qcow2 vdb1 --subdriver qcow2 --config
4.查看是否添加成功
virsh domblklist ubuntuserver16.04
5.分离磁盘
注意:需要保持虚拟机处于开启状态
用下面命令进行分离磁盘,可以查看到分离成功。
virsh detach-disk ubuntuserver16.04 vdb1 --config
6.删除存储卷
virsh vol-delete vol1.qcow2 --pool vmpool
注意:在删除卷的时候,需要保持虚拟机处于开启状态。
7.编写脚本自动附加和分离存储卷
#!/bin/bash
pool_name="vmpool"
vm_name="vm1"
#Stress phases
# Calculate the end time for running
end_time=$(date -d "now + 1 day" +%s)
# Attach and detach disk repeatedly util the end tima is reached
while true; do
# Check if the current time has reached the end time
current_time=$(date +%s)
if [[ ${current_time} -ge ${end_time} ]]; then
echo "Stopping script..."
break
fi
# Create storage volumes and attach-disk
for i in {1..10}; do
vol_name="vol${i}.qcow2"
vol_path="/home/lln/vmpool/${vol_name}"
# Create volume
virsh vol-create-as --pool ${pool_name} --name "${vol_name}" 1G --format qcow2
# Attach disk
virsh attach-disk "${vm_name}" "${vol_path}" "vdb${i}" --subdriver qcow2 --config
sleep 15
done
# Delete storage volumes
for i in {1..10}; do
vol_name="vol${i}.qcow2"
# Detach volumes
virsh detach-disk "${vm_name}" "vdb${i}" --config
# Delete volumes
virsh vol-delete "${vol_name}" --pool ${pool_name}
sleep 15
done
# End while
done