链接:https://pan.baidu.com/s/15dhiBfFxqSDUGWLvy-rHgw 提取码:2iah 无密码的在维护 百度网盘
命令行安装kvm虚拟机:
yum -y install kvm qemu libvirt virt-viewer qemu-system virt-manager libguestfs-tools bridge-utils virt-install libvirt-python qemu-kvm python-virtinst
yum install acpid -y //想使用virsh命令必须开启acpid服务
systemctl start acpid.service
systemctl enable acpid.service
systemctl start libvirtd.service
systemctl enable libvirtd.service
创建桥接网络
Bridge方式即虚拟网桥的网络连接方式,是客户机和子网里面的机器能够互相通信。可以使虚拟机成为网络中具有独立IP的主机。桥接网络(也叫 物理设备共享)被用作把一个物理设备复制到一台虚拟机。网桥多用作高级设置,特别是主机多个网络接口的情况。
cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-br0
vi ifcfg-ens33
//在末尾新增一行,同时要把网卡的IP相关参数去掉
BRIDGE="br0"
vi ifcfg-br0 修改以下内容:
DEVICE=br0
BOOTPROTO=static
#NM_CONTROLLED=no
ONBOOT=yes
TYPE=Bridge
IPADDR=192.168.80.100
NETMASK=255.255.255.0
service network restart
我两张网卡配置的样子
安装前要设置环境语言为英文LANG="en_US.UTF-8",如果是中文的话某些版本可能会报错。CentOS 7 在这里修改 /etc/locale.conf。
mkdir -p /opt/kvm/images 创建一个新的存储池
创建 预分配 元数据选项 的qcow2格式镜像文件:
qemu-img create -f qcow2 -o preallocation=metadata /opt/kvm/images/centos7.qcow2 9G
注:
创建 客户机所需的磁盘
create 表示创建,-f qcow2 表示创建一个格式为 qcow2 的磁盘, /home/vms/centos7.qcow2 表示创建的磁盘名称及磁盘文件,9G 表示该磁盘可用大小。
成功的重点在于创建qcow2镜像时,选择preallocation=metadata选项 。
qemu-img info centos6.5.qcow2
virt-install --name=centos6.5 --virt-type=kvm --ram=512 --vcpus=1 --cdrom=/var/lib/libvirt/images/CentOS-6.5-x86_64-minimal.iso --disk path=/opt/kvm/images/centos6.5.qcow2,size=9 --network bridge=br0 --vnc --vncport=15950 --vnclisten=0.0.0.0 --noautoconsole --autostart
注:
--name:指定虚拟机的名称
--ram:指定虚拟机的内存大小
--disk path=xxx :指定虚拟机磁盘的位置
size=xxx:指定虚拟机的磁盘大小
--vcpus:指定虚拟cpu数量
--os-type:指定kvm虚拟机操作系统的类型
--os-variant:指定客户机系统的类型——可以用下面的命令来确认这个列表
# osinfo-query os
--network:指定虚拟机的网络类型
--graphics:指定图形的类型。如果设置为“none”,则表示没有图形
--console:指定控制台类型
--cdrom:使用的是光盘镜像
--location:指定安装介质路径,如光盘镜像的文件路径。http:// ftp:// nfs://
--extra-args:指定在内核中设置的参数,根据不同的安装方式设置不同的额外选项
centos有安装图形化界面
yum install -y tigervnc-server
cd /lib/systemd/system
复制该service,命名为vncserver@:1.service
cp vncserver@.service vncserver@:1.service
然后修改vncserver@:1.service
vi vncserver@:1.service
将文本里面的<user>更vi 改为root(前提是你现在是root用户)
更改后如下
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=forking
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver %i "
PIDFile=/root/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
vncserver :1
netstat -anpt | grep vnc
在软件里面创建一个在第一行输入192.168.80.100:15950