kvm常用操作¶
创建虚拟机¶
cp swarm03.xml vm-denis-cmdb1.xml
#name修改为 ssd/vm-denis-cmdb1
#cpu内核调整, 内存格式改为GIB(2处), 容量调整, ssdname修改为 ssd/vm-denis-cmdb1
#如不需指定mac地址,则需去掉<mac address='52:54:00:4F:BB:CF'/>, 如需指定则设置成网络中唯一的地址
vi vm-denis-cmdb1.xml
rbd list ssd
rbd snap list ssd/CentOS7Templet
rbd clone ssd/CentOS7Templet@base ssd/vm-denis-cmdb1 #复制快照
rbd resize ssd/vm-denis-cmdb1 --size 30G 或者 virsh blockresize --domian vm-denis-cmbd1 --path vda --size 30G #调整硬盘大小
virsh define vm-denis-cmdb1.xml #从XML文件定义(但不启动)一个虚拟机
virsh start vm-denis-cmdb1
virsh list
virsh dumpxml <id> #查看用于vnc view连接的端口
用vnc viewer连接192.168.252.82:<端口>后查看ip, 即可用xshell连接
快照操作¶
virsh -list -all
- vm-denis-k8s1 shut off
rbd snap create ssd/vm-denis-k8s1@snapshot1 #创建快照(首先关闭虚拟机)
rbd snap ls ssd/vm-denis-k8s1
virsh start vm-denis-k8s1 #启动虚拟机
rbd snap rollback ssd/vm-denis-k8s1@snapshot1 #恢复快照(关闭虚拟机后操作)
rbd snap rm ssd/vm-denis-k8s1@snapshot1 #删除快照
rbd snap purge ssd/vm-denis-k8s1 #删除多个快照
其它操作¶
virsh destroy <id> #停止虚拟机
virsh undefine vm-denis-cmdb1 #取消虚拟机
virsh create vm-denis-cmdb1.xml #一次性启动
virsh blockresize分情况
- 如果虚拟机是开机状态下,不用调rbd resize,直接调virsh blockresize就行,它会帮忙自动执行rbd resize或qemu-img resize
- 如果虚拟机是关机状态,则不用调该命令,直接调底层的resize,比如rbd就调rbd resize,qcow2就调qemu-img resize
rbd rm ssd/vm-denis-cmdb1 #删除镜像
调整虚拟机硬盘大小¶
# 虚拟机查看原大小
[root@test ~]# fdisk /dev/vda -l
Disk /dev/vda: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000bc509
Device Boot Start End Blocks Id System
/dev/vda1 * 2048 41943039 20970496 83 Linux
#在82上调整成30G
[root@rxserver3 ~]# rbd resize ssd/vm-denis-cmdb1 --size 30G
Resizing image: 100% complete...done.
[root@rxserver3 ~]# rbd --image ssd/vm-denis-cmdb1 info
rbd image 'vm-denis-cmdb1':
size 30 GiB in 7680 objects
order 22 (4 MiB objects)
id: 7650c6b8b4567
block_name_prefix: rbd_data.7650c6b8b4567
format: 2
features: layering, exclusive-lock, object-map, fast-diff, deep-flatten
op_features:
flags:
create_timestamp: Wed Sep 4 17:04:55 2019
parent: ssd/CentOS7Templet@base
overlap: 20 GiB
# 虚拟机poweroff后重启, 再次查看大小
[root@localhost ~]# fdisk -l
Disk /dev/vda: 32.2 GB, 32212254720 bytes, 62914560 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000bc509
Device Boot Start End Blocks Id System
/dev/vda1 * 2048 41943039 20970496 83 Linux
#重新分区, 这是在只有一个分区的情况下
[root@localhost ~]# fdisk /dev/vda
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): d
Selected partition 1
Partition 1 is deleted
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-62914559, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-62914559, default 62914559):
Using default value 62914559
Partition 1 of type Linux and of size 30 GiB is set
Command (m for help): p
Disk /dev/vda: 32.2 GB, 32212254720 bytes, 62914560 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000bc509
Device Boot Start End Blocks Id System
/dev/vda1 2048 62914559 31456256 83 Linux
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
# 重启虚拟机后操作
[root@localhost ~]# reboot
[root@localhost ~]# resize2fs /dev/vda1
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/vda1 is mounted on /; on-line resizing required
old_desc_blocks = 3, new_desc_blocks = 4
The filesystem on /dev/vda1 is now 7864064 blocks long.
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 30G 1.1G 27G 4% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 8.3M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
tmpfs 380M 0 380M 0% /run/user/0
参考文章¶
https://blog.51cto.com/wutou/1782931
https://blog.51cto.com/speakingbaicai/1161964
https://www.cnblogs.com/chenjiahe/p/5919426.html