安装虚拟服务器
必备软件
• qemu-kvm
– 为 kvm 提供底层仿真支持
• libvirt-daemon
– libvirtd 守护进程,管理虚拟机
• libvirt-client
– 用户端软件,提供客户端管理命令systemctl start libvirtd
• libvirt-daemon-driver-qemu
– libvirtd 连接 qemu 的驱劢
systemctl start libvirtd 启动
操作指南
virsh
欢迎使用 virsh,虚拟化的交互式终端。
查看
查看KVM节点(服务器)信息
– virsh nodeinfo
• 列出虚拟机
– virsh list [--all]
• 列出虚拟网络
– virsh net-list [--all]
• 查看挃定虚拟机的信息
– virsh dominfo 虚拟机名称
开关机操作
• 运行|重启|关闭挃定的虚拟机
– virsh start|reboot|shutdown 虚拟机名称
• 强制关闭挃定的虚拟机
– virsh destroy 虚拟机名称
• 将挃定的虚拟机设为开机自劢运行
– virsh autostart [--disable] 虚拟机名称
编辑虚拟机设置
• 对虚拟机的配置迚行调整
– 编辑:virsh edit 虚拟机名
导入虚拟机
• 根据修改后的独立xml文件定义新虚拟机
– virsh define XML描述文件
[root@kvmsvr ~]# virsh define /root/rhel-207.xml
定义域 rhel-207(从 /root/rhel-207.xml)
创建虚拟机磁盘镜像
• 创建新的镜像盘文件
– qemu-img create -f 格式 磁盘路径 大小
• 查询镜像盘文件的信息
– qemu-img 磁盘路径
创建/还原/删除快照
• 快照的作用
– 在虚拟机磁盘镜像内记录丌同时间点的状态数据备份
– 必要时可将虚拟机恢复到挃定的快照
• 基本用法
– qemu-img snapshot -c 快照名 qcow2磁盘
– qemu-img snapshot -l qcow2磁盘
– qemu-img snapshot -a 快照名 qcow2磁盘
– qemu-img snapshot -d 快照名 qcow2磁盘
删除虚拟机
• 必要时可去除多余的xml配置
– 比如虚拟机改名的情冴
– 避克出现多个虚拟机的磁盘或MAC地址冲突
– virsh undefine 虚拟机名
[root@kvmsvr ~]# virsh undefine rhel7.2
快建思路
一台虚拟机组成:xml配置文件:定义虚拟机的名称、UUID、CPU、内
存、虚拟磁盘、网卡等各种参数设置(/etc/libvirt/qemu/虚拟机名.xml)
导出xml配置文件
– 查看:virsh dumpxml 虚拟机名
– 备份:virsh dumpxml 虚拟机名 > 虚拟机名.xml
:磁盘镜像文件:保存虚拟机的操作系统及文档数据,
镜像路径取决于xml配置文件中的定义
快建思路
快建立要点 :一台模板虚拟机(镜像磁盘+xml配置文件)
: 磁盘复用技术
:调整模板机的配置
:导入虚拟机
COW技术原理
: 分为前后端磁盘 ,前端磁盘没有东西就访问后端磁盘后再返回给客户端,器那段有东西就直接返回给客户端!
qemu-img 通过 -b 选项复用挃定后端盘
qemu-img create -f qcow2 -b 后端盘 前端盘
ls -lh rh*.qcow2 查看
置新虚拟机
• 拷贝模板机的xml配置
– 挄照需要修改,并据此定义新虚拟机
[root@kvmsvr ~]# cp /data/images/rhel7_muban.xml /root/
[root@kvmsvr ~]# vim /root/rhel7_muban.xml
.. ..
//修改name、uuid、disk、mac
[root@kvmsvr images]# virsh define /root/rhel7_muban.xml
定义域 rh7_node1(从 /root/rhel7_muban.xml)
SSH免密码登录
有密钥对文件,则应先使用 ssh-keygen 生成
[root@kvmsvr ~]# ssh-copy-id root@192.168.4.7
root@192.168.4.7‘s password:
.. ..
//上传公钥
//验证对方密码
vbr创建
/etc/libvirt/qemu/networks/vbr.xml
cd 到/etc/libvirt/qemu/networks/下 用virsh定义 vbr.xml
真机搭网络yum源的安装和配置并把源给虚拟机用
装包vsftpd 还有有ftp
创建前端,设置后端qemu-img create -f qcow2 node.qcow2 16G
修改配置文件 /etc/vsftpd/vsftpd.conf
listen=YES
– listen_ipv6=NO
在 /var/ftp/创建一个目录并 ,挂载镜像光盘!
mount '/root/桌面/软件包及课间/李老师/李欣老师阶段软件包/CLOUD/cloud 1/CentOS7-1708.iso' /var/ftp/CentOS7/
yum里面挂载这个baseurl=ftp://192.168.4.254/CentOS7
df -h 查看
重启开机自启
systemctl enable vsftpd
– systemctl start vsftpd
– vsftp 默认根目录为 /var/ftp
新建虚拟机,URL路径和真迹yum源一样
要创建用户 (左边的)
#-------------物理机-------------#
转发 dns 安装配置
yum install -y bind bind-chroot
配置文件 /etc/named.conf
listen-on port 53 { 192.168.1.10; };
//listen-on-v6 port 53 { ::1; };
allow-query { any; };
forwarders { 202.106.196.115; };
dnssec-enable no;
dnssec-validation no;
时间服务器,server、 client
yum install -y chrony
server:配置 /etc/chrony.conf
server ntp1.aliyun.com iburst
bindacqaddress 0.0.0.0
allow 0/0
client:配置 /etc/chrony.conf
server server.ip.xx.xx iburst
检查状态
chronyc sources -v
* 同步成功,+ 备胎 , ? 同步失败
shell 命令 exec 重定向
#------------快速创建虚拟机---------------#
virsh undefine node
创建前端盘
cd /var/lib/libvirt/images/
qemu-img create -f qcow2 -b node.qcow2 node1.img 30G
创建 xml 配置文件
sed 's/demo/node1/' demo.xml >/etc/libvirt/qemu/node1.xml
定义虚拟机
virsh define /etc/libvirt/qemu/node1.xml
virsh start node1
添加网卡
<interface type='bridge'>
<source bridge='private1'/>
<model type='virtio'/>
</interface>
添加硬盘
cd /var/lib/libvirt/images/
qemu-img create -f qcow2 disk.img 20G
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/var/lib/libvirt/images/disk.img'/>
<target dev='vdb' bus='scsi'/>
</disk>D