- 查看容量,如果不够,添加一块硬盘,作用是扩展根分区(centos-root)的空间
-
[root@svr7 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 17G 3.4G 14G 20% /
先扩展卷组空间 # vgextend centos /dev/sdb
扩展逻辑卷空间 #lvextend -L 50G /dev/centos/root
刷新文件系统 # xfs_growfs /dev/centos/root
-
修改CPU(处理器)参数:开启虚拟化
-
准备装机的镜像,软件KVM
- 将镜像传到虚拟机上
利用Xterm工具,将镜像上传 - 安装虚拟化工具
- 虚拟化软件所需安装包
qemu-kvm :为 kvm 提供底层仿真支持
libvirt-daemon :libvirtd 守护进程,管理虚拟机
libvirt-client :用户端软件,提供客户端管理命令
libvirt-daemon-driver-qemu :libvirtd 连接 qemu 的驱动
virt-manager :图形管理工具
- 虚拟化软件所需安装包
- 将镜像传到虚拟机上
-
利用KVM安装虚拟机
-
虚拟机的组成成分
– xml配置文件:定义虚拟机的名称、UUID、CPU、内存、虚拟磁盘、网卡等各种参数设置
默认xml配置文件存放路径:/etc/libvirt/qemu
– 磁盘镜像文件:保存虚拟机的操作系统及文档数据,镜像路径取决于xml配置文件中的定义
默认磁盘镜像文件存放路径:/var/lib/libvirt/images/ -
虚拟化命令
管理各虚拟机的命令接口:virsh 控制指令 [虚拟机名称] [参数]
• 列出正在运行的虚拟机
– virsh list
• 查看KVM节点(服务器)信息
– virsh nodeinfo
• 列出虚拟机
– virsh list [–all]
• 查看指定虚拟机的信息
– virsh dominfo 虚拟机名称
• 运行|重启|关闭指定的虚拟机
– virsh start或reboot或shutdown 虚拟机名称
• 强制关闭指定的虚拟机
– virsh destroy 虚拟机名称
• 将指定的虚拟机设为开机自动运行
– virsh autostart [–disable] 虚拟机名称 -
手动克隆虚拟机
- 一般都是复制xml配置文件和磁盘镜像文件,之后修改
- 复制磁盘镜像文件
cd /var/lib/libvirt/images/
cp nsd01.qcow2 abc01.qcow2
- 复制并修改xml配置文件
cd /etc/libvirt/qemu/
cp nsd01.xml abc01.xml
vim abc01.xml
- 优化: #virsh edit nsd01 以nsd01虚拟机为模板进行编辑
虚拟机的名字:abc01
虚拟机UUID:28a………6c #整行删除
虚拟机磁盘镜像文件:
- 优化: #virsh edit nsd01 以nsd01虚拟机为模板进行编辑
<source file='/var/lib/libvirt/images/abc01.qcow2'/> 虚拟机网卡mac地址: <mac address='52:54:00:26:08:2c'/> #整行删除
- 复制磁盘镜像文件
- 写时复制 Copy On Write
– 前端盘直接映射**原始盘(后端盘)**的数据内容
– 原始盘(后端盘)内容不变,并且不能修改原始盘(后端盘)内容,否则所有前端盘无法使用
– 对前端盘的修改不回写到原始盘(后端盘)
命令:# qemu-img create -f qcow2 -b 原始盘 前端盘
命令:# qemu-img info 前端盘 #查看前端盘信息 - 手动删除虚拟机
先关闭虚拟机 # virsh destroy nsd01
删除导入的虚拟机信息 # virsh undefine nsd01
手动删除虚拟机的磁盘镜像文件 # rm -rf /var/lib/libvirt/images/dc01.qcow2 - 虚拟机的磁盘镜像文件格式
- 离线访问虚拟机
• 基本用法
guestmount -a 虚拟机磁盘路径 -i /挂载点
]# yum provides */guestmount #查询仓库中那个软件包产生该数据
]# yum -y install libguestfs-tools-c
]# guestmount -a /var/lib/libvirt/images/abc01.qcow2 -i /mnt