一、虚拟机管理命令
- 在root下执行
virt-manager | 开机虚拟机管理器 |
---|---|
virsh list | 显示正在运行的虚拟机 |
virsh list --all | 查看所有虚拟机 |
virsh start desktop | 打开虚拟机 |
virsh shutdown desktop | 正常关闭,有过程的关闭(可能会阻塞) |
virsh destroy desktop | 强行关闭,立即关闭(不会阻塞) |
virt-viewer desktop | 显示虚拟机 |
想要开启并显示虚拟机:
virsh start desktop
virt-viewer deskt
在家中模拟虚拟机的恢复:
【1】
准备1个已经安装好的虚拟机
【2】
从别的主机里复制westos.xml虚拟机硬盘信息和westos.qcow2虚拟机硬件信息
scp root@172.25.254.21:/etc/libvirt/qemu/westos.xml /mnt/
scp root@172.25.254.21:/var/lib/libvirt/images/westos.qcow2 /mnt
【3】
在虚拟机管理器中删除这个装好的虚拟机
【4】
模拟恢复过程:
cd /mnt
virsh create westos.xml ##一次性,用硬件信息启动虚拟机
【5】
在操作过程中会有以下错误:
error:Cannot access storage file ‘/var/lib/libvirt/images/westos.qcow2’
解决方案:
mv /mnt/westos.qcow2 /var/lib/libvirt/images/
virsh define westos.xml ##永久恢复虚拟机
- 删除文件的方式删除虚拟机:
virsh undefine westos.xml ##delete westos.xml
rm -fr /var/lib/libvirt/images/westos.qcow2
- 注意:
heml 超文本传输语言
xtml 可扩展语言,做数据封装
二、挂载
/etc/rc.d/rc.local开机自动执行脚本
df 查看设备挂载点
使用mount /iso/rhel-server-7.3-x86_64-dvd.iso /var/www/html/westos 是临时挂载,关机重启后自动取消
挂载需要一个与系统版本一致的系统镜像。
永久挂载:
root下:
vim /etc/rc.d/rc.local
ll /etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local ##修改其为可执行权限
reboot
df
二、快照
脚本语言基本符号:
\ 换行符
$1占位符,脚本后跟的字符
test -z “$1” && || ##比较$1!=0则执行&& ,否则执行||
快照:相当于玻璃,在上面作修改,不影响母盘。
-b备份 -f 指定文件类型
快照执行步骤:
[root@foundation19 mnt]# vim vm_create_snopshot.sh
[root@foundation19 mnt]# chmod +x vm_create_snopshot.sh #赋予可执行权限
[root@foundation19 mnt]# /mnt/vm_create_snopshot.sh westos node2
##执行完这些,则生成了node2.qcow2
**新建好虚拟机快照文件后,需要在virt-manager中选择
virt-manager—>电脑—>Import exisying disk image—>node2 .qcow2
选择已生成的node1.qcow2
-
其余均为默认选项
三、虚拟机安装脚本(前半部分自动安装)
vim /mnt/vm_create.sh
chmod +x vm_create.sh
/mnt/vm_create.sh test1
错误情况:
未加虚拟机名称
四、kickstart虚拟机自动安装脚本
虚拟机:
【1】[root@localhost software]# yum install system-config-kickstart
[root@localhost software]# system-config-kickstart
对应下方全自动安装【1】中选项,保存到/ks.cfg
【2】[root@localhost software]# vim /ks.cfg
[root@localhost software]# ksvalidator /ks.cfg
【3】
[root@localhost ~]# yum install httpd
[root@localhost software]# systemctl start httpd
[root@localhost software]# systemctl enable httpd
[root@localhost software]# systemctl stop firewalld
[root@localhost software]# systemctl mask firewalld
【4】
[root@localhost software]# cd
[root@localhost ~]# cp /ks.cfg /var/www/html/
#cp 不改变属性 mv 可能会改变属性
主机:
virt-manager
-
删除虚拟机(两步):
virsh undefine westos
rm /var/lib/libvirt/images/westos.qcow2 -
执行脚本
ksvalidator ks.cfg #检查脚本语法错误
sh ks.cfg #运行 -
cpu和硬件连接的叫总线bus 多设备—线路复用
三、全自动批量建立虚拟机
主机中进行
【1】
[root@foundation76 ~]# mount /iso/rhel-server-7.3-x86_64-dvd.iso /rhel7.3/
[root@foundation76 ~]# yum install system-config-kickstart
[root@foundation76 ~]# system-config-kickstart
可以在配置时写开机自动执行脚本,设置保存到/var/www/html/
选择分区:
【2】root@foundation mnt]# cd /var/www/html
[root@foundation76 html]# ls
ks.cfg westos (ks.cfg是在第一步配置时自动生成的,名称自己起,放到html下可通过网络自己访问)
[root@foundation76 html]# vim ks.cfg
添加下面的信息:[root@foundation76 html]# ksvalidator ks.cfg #检测是否有语法问题
【3】
检测文件共享设置
在虚拟机firefox中搜索 http://172.25.254.76/ks.cfg
【4】
[root@foundation76 html]# cd /mnt/
[root@foundation76 mnt]# vim vm_create.sh
【5】
[root@foundation19 mnt]# sh vm_create.sh node