kvm的yum安装

1.检查cpu是否支持虚拟化
如果有vmx信息输出,就说明支持vt,如果没有任何的输出,说明你的cpu不支持,将无法使用kvm虚拟机

grep vmx /proc/cpuinfo

 

 
2.确保bios里开启了虚拟化功能
查看是否加载kvm模块
lsmod | grep kvm
如果没有加载
modprobe kvm

modprobe kvm-intel

 

 
3.配置网络
(1)桥接网络
如果没有brctl命令(用来管理网桥的工具),则需要安装bridge-utils
yum -y install bridge-utils
重启

systemctl restart network

 

 
(2)配置KVM的网桥模式
cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-br0
修改新网卡
vim /etc/sysconfig/network-scripts/ifcfg-br0
## 修改为Bridge(桥接模式)
TYPE=Bridge
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
## 修改为br0
NAME=br0
## 注释掉UUID
#UUID=9d8b6a36-4495-4f9c-96f6-5bf4cc32dc3c
## 修改为br0
DEVICE=br0
ONBOOT=yes
IPADDR=192.168.200.125
NETMASK=255.255.255.0
GATEWAY=192.168.200.2

DNS1=8.8.8.8

 

 
修改旧网卡
vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=9d8b6a36-4495-4f9c-96f6-5bf4cc32dc3c
DEVICE=ens33
ONBOOT=yes
## 注释掉这下面几行
#IPADDR=192.168.200.125
#NETMASK=255.255.255.0
#GATEWAY=192.168.200.2
#DNS1=8.8.8.8
## 添加下面这行

BRIDGE=br0

 

 
重启网卡
systemctl restart network
查看网卡
brctl show
测试是否能够连接外网

ping www.baidu.com

 

 
(3)安装libvirt及kvm
libvirt是管理虚拟机的api库,不仅支持kvm虚拟机,也可以管理xen等方案下的虚拟机
yum -y install libcanberra-gtk2 qemu-kvm.x86_64 qemu-kvm-tools.x86_64  libvirt.x86_64 libvirt-cim.x86_64 libvirt-client.x86_64 libvirt-java.noarch  libvirt-python.x86_64 libiscsi-1.7.0-5.el6.x86_64  dbus-devel  virt-clone tunctl virt-manager libvirt libvirt-python python-virtinst
 
由于要用virt-manager图形化安装虚拟机,所以还需要安装X-window,如果创建虚拟机的时候,选择的是gnome桌面安装,不是最小安装,这一步不需要做
yum groupinstall "X Window System"
安装中文字符,解决界面乱码问题,如果创建虚拟机的时候,选择的是gnome桌面安装,不是最小安装,这一步不需要做
yum install -y dejavu-lgc-sans-fonts
yum groupinstall -y "Fonts"
安装图形界面gnome,如果创建虚拟机的时候,选择的是gnome桌面安装,不是最小安装,这一步不需要做
yum groupinstall "GNOME Desktop"
更改系统开机默认启动图形界面gnome,如果创建虚拟机的时候,选择的是GNOME桌面安装,不是最小安装,这一步不需要做
systemctl set-default multi-user.target  //设置成命令模式
systemctl set-default graphical.target  //设置成图形模式
 
启用libvirt
systemctl enable libvirtd

systemctl start libvirtd

 

 
4.修改qcow2密码
#换源成功后开始安装KVM
#安装kvm
sudo yum groupinstall "Virtualization Host" -y
systemctl enable libvirtd
yum install virt-install virt-manager -y

#安装成功则可输入virt-manager打开

 

#接下来我们要导入一个让KVM可以利用的镜像,可以是.ios/.qcow2等镜像文件
 
virt-install --name centos7-1510 --ram 2048 --vcpus=2 --disk path=centos7_iso_wc_pkg_50.qcow2,bus=ide,format=qcow2  --network=bridge:virbr0 --force --import  --autostart
#参数说明
#name 后面是要新建的虚拟机的名称;
#ram 后面是分配的内存大小(单位MB)
#vcpus= 是分配的cpu个数
#disk=后面的第一个参数是qcow2文件
#autostart的意思是虚拟机随着宿主机的启动而自动启动
#–network=bridge后的br0是网桥名称可以用命令:virsh iface-bridge eth1 br0创建
 
#我们创建的镜像用户名和密码压根不知道 ,这是由于qcow2的某些原因导致的 ,我们要安装一个依赖 然后重新设置密码
#但是在这之前需要先把上面测试创建的镜像干掉
virsh list --all
Id    Name                           State
----------------------------------------------------
1     centos7                        running
 
 
[root@192 ~]# virsh destroy centos7
Domain centos7 destroyed
[root@192 ~]# virsh undefine centos7
Domain centos7 has been undefined
 
[root@192 ~]# updatedb
[root@192 ~]# locate centos7
/root/centos7_iso_wc_pkg_50.qcow2
/var/log/libvirt/qemu/centos7-1510.log
/var/log/libvirt/qemu/centos7.log
[root@192 ~]# rm -rf /var/log/libvirt/qemu/centos7-1510.log

[root@192 ~]# rm -rf /var/log/libvirt/qemu/centos7.log

 

 
#不过要注意下面这一段,可能和我的不一样,是由你的镜像导致的,如果挂载后没有/etc/shadow,尝试挂载list-filesystems,下面显示的其他文件系统
#>list-filesystems
#/dev/sda1: xfs
#/dev/centos/root: xfs
#/dev/centos/swap: swap

#自己生成密码 可以自行设置

 

 
[root@192 ~]# yum install libguestfs-tools -y
[root@192 ~]# openssl passwd -1 123456

$1$.ZcnZMFU$qICAeytbSj2Aa/5/JCVTs.

 

[root@192 ~]# guestfish --rw -a ./centos7_iso_wc_pkg_50.qcow2
 
Welcome to guestfish, the guest filesystem shell for
editing virtual machine filesystems and disk images.
 
Type: ‘help’ for help on commands
‘man’ to read the manual
‘quit’ to quit the shell
 
>run
>list-filesystems
/dev/sda1: xfs
/dev/centos/root: xfs
/dev/centos/swap: swap
>mount /dev/centos/root /
>vi /
/.autorelabel     /dev              /dev/sda          /etc              /lib64            /opt              /run              /sys              /var
/bin              /dev/centos/root  /dev/sda1         /home             /media            /proc             /sbin             /tmp
/boot             /dev/centos/swap  /dev/sda2         /lib              /mnt              /root             /srv              /usr
>vi /etc/shadow
>cat /etc/shadow
root:$1$.ZcnZMFU$qICAeytbSj2Aa/5/JCVTs.:17989:0:99999:7:::
bin:*:16659:0:99999:7:::
daemon:*:16659:0:99999:7:::
adm:*:16659:0:99999:7:::
lp:*:16659:0:99999:7:::
sync:*:16659:0:99999:7:::
shutdown:*:16659:0:99999:7:::
halt:*:16659:0:99999:7:::
mail:*:16659:0:99999:7:::
operator:*:16659:0:99999:7:::
games:*:16659:0:99999:7:::
ftp:*:16659:0:99999:7:::
nobody:*:16659:0:99999:7:::
avahi-autoipd:!!:17066::::::
systemd-bus-proxy:!!:17066::::::
systemd-network:!!:17066::::::
dbus:!!:17066::::::
polkitd:!!:17066::::::
tss:!!:17066::::::
postfix:!!:17066::::::
sshd:!!:17066::::::
posted @ 2023-03-30 16:57  leiuk  阅读(208)  评论(0编辑  收藏  举报