-Linux下的虚拟机安装与管理
一、虚拟机安装
首先安转之前,要提前下载一个镜像,这里是:rhel-server-7.0-x86_64-dvd.iso
1)图形化方法
【1】在本机打开终端,切换到超级用户下。输入命令:virt-manager【2】点击左上角的小电脑+太阳(create a new virtual machine)的图标
【3】在以下界面点击Forward
【4】在以下界面点击Browse,浏览自己的镜像安装位置
【7】在以界面点击Forward
【8】 选择虚拟机的内存大小和CPU个数,完成后点击Forward
【9】选择自己的硬盘大小,完成后点击Forward
【10】填写虚拟机的名字(自己取),完成后点击Finish
【11】此时到达安装界面,用上下键选择安装方式,第一行为直接安装,第二行为先解析后安装(时间长)。在这选择第一种安装方式
【12】进入虚拟机的配置界面后,对时区、语言、磁盘分区等信息进行设置
1、选择安装时的语言
2、选择安装完成后
3、选择软件安装为图像界面,右边不需要选 (若需要其他需求,在GUI右边选择即可)
4、选择手动分区
5、选择第一个标准分区
6、点击左下角的+,分别对/ 、 /boot 、 swap 进行内存的分配(左下角粉色区域为可用内存大小,灰色的是内存总的大小)
分配结果如下:
8、点击右下角的开始安装就可以了。这时需要设置超级用户密码。安装完成后,再开始添加普通用户和密码。
2)脚本方式
【1】步骤: 在真机的超级用户下进行
vim /mnt/create_virt.sh
virt-install \
--cdrom /home/kiosk/Desktop/rhel-server-7.2-x86_64-dev.iso \
--ram 1024 \
--cpus 1 \
--disk /var/lib/libvirt/images/$1.qcow2,bus=virtio,size=9 \
--name $1 \
--network bridge=br0,model=virtio &> /dev/null &
运行:chmod 755 /mnt/creat_virt.sh
/mnt/creat_virt.sh 就可以进入到安装界面
注释:在virt-install的属性中,cdrom为安转源,即你的镜像+镜像所在目录;ram为你的内存大小;cpus 代表cpu的个数;disk代表磁盘的相关信息
name是虚拟机的名称;network是网络接口的信息(接口名称和工作模式)
1、磁盘信息的查看:
2. 网络接口信息的查看:
【2】删除虚拟机命令:virsh undefine test1
rm -rf /var/lib/libvirt/images/test1
二、虚拟机的管理
virt-manager 开启虚拟机管理器
virsh list 显示正在运行的虚拟机
virsh list --all 查看所有虚拟机
virsh start desktop 打开
virsh destroy desktop 强行关闭
/var/lib/libvirt/images/xxx.qcow2
虚拟机恢复(一次性): virsh create xxx.xml
永久恢复:virsh define xxx.xml
注意:使用virsh命令的时候要在root用户里面。
【1】将一台虚拟机传到另一台虚拟机上
一台虚拟机由物理信息和磁盘信息组成,所以我们进行虚拟机的传输的时候,只需要把这两个文件信息传到另一台主机上,然后恢复可以使用。
1)文件的传输(把信息传到100主机上)
2)恢复过程:
临时: virsh create xxx.xml 报错:此时把该.xml文件移动到出错目录下即可
注意:临时恢复的虚拟机,强制关闭之后,就不存在了。
【2】虚拟机的快照作用:对母盘做了快照; 使虚拟机出错之后,可以利用母盘重新创建。读的时候使用的是母盘,写的时候用快照。快照相当一个复本!
快照脚本:
vim /mnt/vm_kuaizhao.sh
qemu-img create -f qcow2 -b \
/var/lib/libvirt/images/$2.qcow2 ## 创建一个快照文件
virt-install \
--name $2 \
--ram 1024 \
--cpus 1 \
--disk /var/lib/libvirt/images/$2.qcow2,bus=virtio \
--network bridge=br0,model=virtio \
--import & ## 对快照文件进行导入
编写完成后执行:chmod 755 /mnt/vm_kuaizhao.sh
/mnt/vm_kuaizhao.sh test note
【3】 重置脚本:vim vm_reset.sh
virsh destroy $1 ## 首先强行关闭出错的虚拟机
rm -rf /var/lib/images/$1.qcow2 ## 删除出错的快照文件
qemu-img create -f qcow2 -b /var/lib/libvirt/images/$2.qcow2 /var/lib/libvirt/images/$1.qcow2 ## 再生成一份新的快照文件
virsh start $1 ## 重启
virt-viewer $1 ## 显示
编写完成执行: chmod 755 /mnt/vm_reset.sh /mnt/vm_reset.sh note
三、虚拟机建立并安装脚本
kickstart是一个用来模拟虚拟机安装过程的一个工具,不需要手动选择语言、磁盘分区等问题。每一个已经安装好的虚拟机,都会在根目录下生成一个anaconda-ks.cfg(记录安装虚拟机时自己选择的答案),而我们的ksckstart就是用来生成.cfg文件的。
实现步骤:假设使用的虚拟机IP为172.25.254.100
1)在虚拟机下生成.cfg文件
1. yum install system-config-kickstart ## 安装软件
2. system-config-kickstart ## 打开一个模拟虚拟机安装界面
3. 进行配置的选择
4. 完成之后保存到一个目录下/mnt/ (用--- ls /mnt/ ---查看,生成的文件名自动为ks.cfg)
2)共享.cfg文件
1. yum install httpd -y ## 安装httpd服务,通过网络的方式共享
2. systemctl stop firewalld ## 关闭防火墙
3. systemctl disable firewalld ## 开机不会自启动
4. systemctl start httpd ## 打开httpd服务
5. systemctl enable httpd ## 开机自启动
6. cp /mnt/ ks.cfg /var/www/html/ ## 把该共享出去,此时可以在浏览器中输入172.25.254.100/ks.cfg 可以看到生成的文件的内容
3)检测:在主机的终端中
vim /mnt/create_virt.sh
#!/bin/bash
--ram 1024 \
--cpus 1 \
--disk /var/lib/libvirt/images/$1.qcow2,bus=virtio,size=9 \
--name $1 \
--network bridge=br0,model=virtio &> /dev/null \
chmod 755 /mnt/create_virt.sh
/mnt/create_virt.sh hello