运维开发必会技能之一——虚拟机管理
Linux中的虚拟机管理
1.安装Linux下的虚拟化KVM
在安装之前我们首先的准备好镜像,这里用的是光驱文件【rhel-server-7.3-x86_64-dvd.iso】
1)安装方式一:利用镜像生成虚拟机
打开图形
点击左上角的第一个选项(发光的小电脑)------>选择第一个【Local install media(本地安装源)】------>【Forward】
【Browse Local】------>添加本地安装源文件------>【Open】------>【Forward】
这一项不需要改动------>直接点击【Forward】
添加虚拟机磁盘映像大小------>【Forward】------->为虚拟机命名------->【Finash】
选择第一个选项(安装红帽公司的Linux 7.3 版本)
选择安装时的语言------->中文------>右下角点击【继续】
添加【时区】------->选择中国上海时间
【软件选择】------>带GUI的服务器(后面的附加选项可以不用选择)
【安装位置】------>随便选择一个磁盘,在【存储选项】中选择------>我要配置分区------【完成】
在【分区方案】中选择标准分区(将已存的分区删掉),点击“ + “分别建立下面三个分区------>【完成】
开始安装,在安装时设置ROOT密码,用户可建可不建,按照上述操作安装时需要加载的文件大概有1200左右,然后。。。。。。等着呗。
安装好点击重启,然后在【许可证】中点击接受------>【完成配置】
然后就是一些系统内的设置,如语言(推荐English-US),时区(中国上海),其他设置按自己的需求来。
完成上述操作后,虚拟机就算初步安装成功了!
2)安装方式二:利用快照生成虚拟机
安装过程大致相同
首先利用一个虚拟机的硬件文件生成快照:
qemu-img create -f qcow2 -b /var/lib/libvirt/images/westos.qcow2 /var/lib/libvirt/images/snow.qcow2
快照已生成,注意观察快照的大小
把生成的快照倒入虚拟机图形控制器中(选择第四项)
倒入文件
/var/lib/libvirt/images/snow.qcow2
后面的安装过程与上述方法一致,此处不做特殊说明
**注意:
1.快照虚拟机若损坏,直接删除快照重新制作一个即可。
2.当使用快照后不要对母盘作任何操作
3.快照文件生成时很小,在快照虚拟机上操作越多,文件会慢慢变大。我们可以通过这个特性来区分快照虚拟机**
2.虚拟机的管理
1)虚拟机管理命令
virt-manager ###开启虚拟机管理命令 virsh list ###显示正在运行的虚拟机 virsh list --all ###查看所有虚拟机 virsh start desktop ##开启虚拟机desktop virsh shutdown desktop ###正常关闭虚拟机 virsh destory desktop ###强行关闭 virt-viewer desktop ###显示虚拟机 rht-vmctl view desktop ###显示虚拟机
2)虚拟机恢复
首先做好准备工作:
mv /etc/libvirt/qemu/westos.xml /mnt/ mv /var/lib/libvirt/images/westos.qcow2 /mnt/
删除已经建好的虚拟机westos,打开虚拟机管理器,右键点击westos,选择【Delete】删除
注意:之所以我们要提前移动相关文件是为了防止在删除虚拟机的时候文件也被删除,这样虚拟机就无法恢复。
恢复命令
virsh create westos.xml
在执行命令的时候我们会看到有报错:
不要慌,出现问题是因为在恢复时需要加载的文件不在原目录中(我们已经将它移存到/mnt下),此时需要修改相关配置文件:
vim westos.xml
将41行的文件原目录修改为现存位置:
/mnt westos.qcow2
修改后重启服务
systemctl restart libvirtd
现在可以恢复了:
注意:上述方式属于临时恢复,当我们把恢复的虚拟机关闭后,它就消失了,所以我们需要永久恢复的话,执行下面的命令即可:
virsh define westos.xml
恢复成功
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
当然我们也可以使用别人主机上安装好的虚拟机进行恢复:
首先复制恢复虚拟机所需的文件
scp root@172.25.21.106:/var/lib/libvirt/images/hello.qcow2 /var/lib/libvirt/images/ scp root@172.25.21.106:/etc/libvirt/qemu/hello.xml /mnt/
直接进行恢复
virsh define hello.xml ##永久恢复 virsh create hello.xml ##用虚拟机硬件文件一次性打开虚拟机,关闭消失
对拷贝过来的文件生成的虚拟机名字也可以作出修改
vim hello.xml systemctl restart libvirtdvirsh create hello.xml
3.编写虚拟机安装脚本——实现安装自动化
上述手动过程太麻烦,因此我们可以选择用脚本实现自动化安装
1)在/mnt下建立后缀为【.sh】的可执行文件,如下所示:
vim create_vm.sh
利用镜像自动安装的脚本内容如下
开始执行
执行成功!
2)在/mnt下建立后缀为【.sh】的可执行文件,如下所示:
vim create_vm2.sh
生成快照自动安装脚本内容如下
执行过程如下
这样利用快照生成的虚拟机就这样建成了!
- 搭建虚拟机的CentOS6.8 与运维的网络管理技能
- 2015.09-2016.08年终总结 需求、设计、开发、测试、部署、运维……统统将矛头指向了管理,目前认为会管理才是王道
- 软件开发——软技能(二、版本管理)
- Linux基础入门及系统管理01-Linux运维核心技能-bash基础特性详解09
- 运维笔记9(虚拟化技术,虚拟机的操作与管理)
- Apsara Clouder云计算专项技能认证:云服务器管理运维,你了解多少?
- Django自动化运维管理平台 - 持续开发中
- 我不要紧的编码组两人,至少两年的dotnet网咯服务开发经验,熟悉数据库orm, 系统管理人员:熟悉各linux发行版的系统管理和安全管理,linux常用数据库的配置与运维等,有代码托管服务管理经验优
- 自己独立开发的一套运维管理平台
- 运维学习之系统虚拟机管理
- MySQL,Oracle,PostgreSQL,mongoDB 通过web方式管理维护, 提高开发及运维效率
- 开发自动化运维管理平台 推荐
- 学习运维——虚拟机管理
- 【Spark开发必备技能】5-2-Maven项目管理-新增依赖包配置
- 项目管理——产品开发各角色职能及技能要求
- 转载----开发运维资产管理系统cmdb一些观点扯淡
- 【Spark开发必备技能】5-3-Maven项目管理-命令行管理Maven工程
- 开发自动化运维管理平台
- 记录一个关于互联网、网页设计、Web开发、服务器运维优化、项目管理、网站运营、网站安全的网站
- Linux运维笔记-文档总结-系统虚拟机管理