kvm基础命令2
[ ~]# virsh vncdisplay test01
:0
:0====5900
:1====5901
2) 挂起虚拟机
[ ~]# virsh suspend test01
//挂起
[ ~]# virsh resume test01
//恢复
3) 开机自启
[ ~]# virsh dominfo test01
//查看一下详细信息
[ ~]# virsh autostart test01
//开机自启
[ ~]# virsh dominfo test01
//查看一下详细信息
测试一下
[ ~]# reboot
//重启
[ ~]# virsh list
//查看状态
[ autostart]# cd /etc/libvirt/qemu/autostart
[ autostart]# ll
4) 取消开机自启
[ autostart]# virsh autostart --disable test01
//取消开机自启
[ autostart]# cd /etc/libvirt/qemu/autostart
[ autostart]# ll
5)console登录(xshell)
//在KVM域里添加
[ ~]# grubby --update-kernel=ALL --args="console=ttyS0"
在xshell里测试一下
[ autostart]# virsh console test01
//登陆虚拟机,如果登不上可以重启一下kvm虚拟机
如果登不上重启一下libvirtd
[ ~]# systemctl restart libvirtd
//在宿主机里重启
磁盘管理
RAW:(裸格式)默认
占用空间较大,性能较好,但不支持快照功能。
QCOW2:(copy on write)
占用空间较小,支持快照,性能比RAW稍差一些。
测试创建磁盘
创建磁盘:(默认裸格式)
[ ~]# mkdir /xgp #创建测试目录
[ ~]# cd /xgp/ #进入测试目录
[ xgp]# qemu-img create 123.raw 5g #创建磁盘
查看磁盘信息:
[ xgp]# qemu-img info 123.raw
创建指定格式磁盘:
[ xgp]# qemu-img create -f qcow2 bdqn.qcow2 5g
转换磁盘格式:
[ xgp]# cd /kvm-vm/ #进入磁盘文件
[ kvm-vm]# virsh destroy test01 #关闭虚拟机
[ kvm-vm]# qemu-img convert -f raw -O qcow2 centos.raw centos.qcow2
//转换磁盘格式为qcow2
拍摄快照:
[ kvm-vm]# virsh edit test01
[ kvm-vm]# virsh snapshot-create test01
已生成域快照 1575255005
查看快照信息:
[ kvm-vm]# virsh snapshot-list test01
名称 生成时间 状态
1575255005 2019-12-02 10:50:05 +0800 shutoff
时间戳:
1970年:C语言诞生,linux系统诞生
Kvm进行一些误操作
rm -rf /*
xshell
根据快照恢复系统:
[ kvm-vm]# virsh snapshot-list test01
名称 生成时间 状态
1575255005 2019-12-02 10:50:05 +0800 shutoff
1575255330 2019-12-02 10:55:30 +0800 shutoff
[ kvm-vm]# virsh snapshot-revert test01 1575255330
删除快照:
[ kvm-vm]# virsh snapshot-delete test01 1575255330
1) 进入test1虚拟机域,设置其能ping通外围,然后部署一个httpd服务,更改其默认访问界面内容为: test+ 自己名称。
<1>设置其能ping通外围
修改kvm虚拟机的网络配置
[ ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
[ ~]# systemctl restart network
//重启网络
测试能否联网
[ ~]# ping baidu.com
<2>部署一个httpd服务,更改其默认访问界面内容为: test+ 自己名称
在阿里镜像站https://developer.aliyun.com/mirror找到epel,在里面复制一个
epel(RHEL 7)的yum源 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
在宿主机进行执行复制的yum源
[ kvm-vm]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
Kvm虚拟机安装httpd
[ ~]# yum -y install httpd
[ ~]# vi /var/www/html/index.html
//创建测试页面
[ ~]# systemctl start httpd
//开启httpd服务
2)给虚拟机域test1拍摄一个快照,当然磁盘类型得更改格式。
转换磁盘格式:
[ xgp]# cd /kvm-vm/ #进入磁盘文件
[ kvm-vm]# virsh destroy test01 #关闭虚拟机
[ kvm-vm]# qemu-img convert -f raw -O qcow2 centos.raw centos.qcow2
//转换磁盘格式为qcow2
[ kvm-vm]# virsh snapshot-create test01
//拍快照
3)想要外网能够访问KVM域里的HTTP服务,应该怎么做?
<1>宿主机做nginx反向代理
29 rz
30 tar zxf nginx-1.14.0.tar.gz
31 cd nginx-1.14.0/
33 yum -y install gcc gcc-c++ autoconf automake make
35 yum -y install openssl-devel pcre-devel zlib-devel
36 ./configure --prefix=/usr/local/nginx1.14 && make && make install
37 ln -s /usr/local/nginx1.14/sbin/nginx /usr/local/sbin/
38 nginx
40 netstat -anpt | grep nginx
//宿主机安装nginx并开启
[ ]# vim /usr/local/nginx1.14/conf/nginx.conf
//指向http服务器
[ nginx]# vim /etc/nginx/nginx.conf
在http模块添加
upstream backend {
server 192.168.122.243:80 weight=1 max_fails=2 fail_timeout=10s;
}
Location模块添加
location / {
#root html;
#index index.html index.htm;
proxy_pass http://backend;
}
[ ~]# nginx -s reload
//重启nginx
浏览器访问
实验完毕