linux之虚拟机管理
-
为什么要安装虚拟机
虚拟机的出现大大降低了管理成本并且最重要的是节省能源,符合现代倡导低碳生活的准则。
-
虚拟机管理
可以直接点击有上角Applications---->system tools---->virtual maschine manager
命令的方式管理虚拟机:
在真机的root用户下键入
virt-manager ##打开图形虚拟机管理
virsh start ##打开虚拟机
virt-viewer ##显示虚拟机
virsh shutdown ##暂停虚拟机
virsh destroy ##强行关闭逊尼基
virsh list ##查看虚拟机及其状态
virsh list-all ##查看所有虚拟机机器状态(详细)
- 虚拟机的安装
cat /proc/cpuinfo |grep vmx ##查看cpu是否开启虚拟化功能
ls Desktop ##查看虚拟机系统是否存在
virsh destroy desktop ##关闭虚拟机desktop
virsh destroy server ##关闭虚拟机server
关闭上述两个虚拟机的原因是防止安装新虚拟机时系统卡顿或崩溃
点击虚拟机管理右上方的“小灯泡”
选择安装方式并进入下一步
选择安装路径
设置内存以及CPU(下图是默认情况,可根据实际情况设定)
设置硬盘大小(下图是默认,可根据实际情况而定)
设置虚拟机名字并点击完成
进入安装界面会读秒,手动方向键选择第一个安装
选择安装语言
分别设置以下选项
设置系统时间以及时区
设置语言(添加中文)
设置软件选项(选择最后一个)
设置磁盘分区及大小
设置完毕,开始安装
设置root用户密码
等待安装,安装完毕重启
接受协议以及创建用户和密码
安装完毕
- 修改虚拟机硬盘和网卡为虚拟化
poweroff虚拟机在进行设置
点击“小灯泡”
- 虚拟机的修复
/etc/libvirt/qemu/xxx.xml #虚拟机前端配置文件。
/var/lib/libvirt/images/xxx.qcow2 #虚拟机硬盘文件。
mv /etc/libvirt/qemu/xxx.xml /mnt #复制虚拟机前端配置文件到/mnt
mv /var/lib/libvirt/images/xxx.qcow2 /mnt #虚拟机硬盘文件到/mnt
删除之前安装的虚拟机rhel7.0
点击虚拟机管理的右上角“小灯泡”
选择最后一个
找到rhel7.0.qcow2文件
点击forward恢复成功,通过虚拟机管理查看
一次性恢复虚拟机:
virsh create xxx.xml ##一次性恢复虚拟机xxx
cd /mnt ##切换到复制的目录中
ls ##查看文件如下
rhel-server-7.3-x86_64-dvd.iso xxx.qcow2 xxx.xml
virsh create xxx.xml #一次性恢复虚拟机
会出现以下报错(原因:文件路径设置出错)
显示:error: Failed to create domain from toto.xml
error: Cannot access storage file '/var/lib/libvirt/images/toto.qcow2' (as uid:107, gid:107): No such file or directory
解决办法:
mv toto.qcow2 /var/lib/libvirt/images/ #移动该文件到相应的位置
virsh create xxx.xml #再次恢复虚拟机
显示:Domain toto created from toto.xml # 显示恢复成功
永久恢复虚拟机:
virsh define xxx.xml #永久恢复虚拟机
步骤同上
删除虚拟机:
virsh undefine xxx #在虚拟机关闭状态下删除xxx.xml文件
rm -fr /var/lib/libvirt/images/xxx.qcow2 #删除硬盘文件
注意:一般情况不建议删除
- 虚拟机的快照
原理:在原有虚拟机的基础上迅速快照出一个新的虚拟机(reset的原理)
qemu-img create -f qcow2 -b /var/lib/libvirt/images/xxx.qcow2 /var/lib/libvirt/images/node1.qcow2 ##虚拟机快照
通过虚拟机管理创建desktop虚拟机的快照haha虚拟机
- 虚拟机自动安装脚本
脚本:类似一个小程序来代替手动选择的部分
具体步骤如下:
cd /opt
mkdir shell
cd /opt/shell
touch virt_install.sh #创建脚本文件
vim virt_install.sh #编辑脚本文件
脚本编辑如下:
#!/bin/bash # 规定运行环境
virt-install \ #命令 '\'为换行符 后面不能有空格等
--cdrom /content/rhel7.3/x86_64/isos/rhel-server-7.3-x86_64-dvd.iso \ #参数,使用镜像创建虚拟机并给出镜像文件路径
--memory 1024 \ #规定内存大小
--vcpus 1 \ #规定cpu个数
--disk /var/lib/libvirt/images/$1.qcow2,bus=virtio,size=8 \ #规定硬盘文件以及硬盘总线类型和硬盘大小;‘$1’表示运行脚本命令后的第一串字符 此处是新建虚拟机的名字
--name $1 \ #虚拟机名称
--network model=virtio,bridge=br0 &> /dev/null & #规定设置网卡 ,并不显示输出信息
sh virt_install.sh seeu ##运行脚本创建虚拟机seeu
- 虚拟机自动快照脚本
步骤如下:
cd /opt/shell ##切换目录
touch kz.sh #创建脚本文件
vim kz.sh #编辑脚本文件
脚本编辑如下:
#!/bin/bash #运行环境
qemu-img create -f qcow2 -b \ #创建新的镜像文件
/var/lib/libvirt/images/$1.qcow2 \ #源文件
/var/lib/libvirt/images/$2.qcow2 \ #新创造出来的文件
virt-install \
--memory 1024 \
--vcpus 1 \
--disk /var/lib/libvirt/images/$2.qcow2,bus=virtio \
--name $2 \
--import \
--network model=virtio,bridge=br0 &> /dev/null &
sh kz.sh seeu seeme ##运行脚本创建seeu虚拟机的快照seeme
END