失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Linux的桌面虚拟化技术KVM(一)——新建KVM虚拟机

Linux的桌面虚拟化技术KVM(一)——新建KVM虚拟机

时间:2023-06-13 05:23:04

相关推荐

Linux的桌面虚拟化技术KVM(一)——新建KVM虚拟机

(1).虚拟化产品对比介绍

虚拟化技术有以下三种:仿真虚拟化,这是一种对系统硬件没有要求,但性能最低的虚拟化技术;半虚拟化,这是一种直接使用物理硬件,性能高,但需要修改内核的虚拟化技术;全虚拟化,这是一种直接使用物理硬件,性能高的虚拟化技术。

VMware支持仿真虚拟化,xen支持半虚拟化,KVM支持全虚拟化。其中VMware安装在Windows上,支持虚拟机系统与物理机系统不同;xen在REHL5中自带,安装时需要安装内核kernel-xen,只支持与物理机一样的操作系统;KVM在REHL6中自带,支持虚拟机系统与物理机系统不同。

KVM全称Kernel-based Virtual Machine,中文名基于内核的虚拟机,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在 之后集成在Linux的各个主要发行版本中,是第一个整合到Linux内核的虚拟化技术。它使用 Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM目前已成为学术界的主流 VMM(虚拟机监控器 )之一。KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术 )。是基于硬件的完全虚拟化。而Xen早期则是基于软件模拟的Para-Virtualization。在KVM模型中,每一个虚拟机都是一个由Linux调度程序管理的标准进程,你可以在用户空间启动客户机操作系统。另外,一个普通的 Linux 进程有两种运行模式:内核和用户。KVM增加了第三种模式:客户模式(有自己的内核和用户模式)。

扩展:QEMU

QEMU和vmware一样都是支持仿真虚拟化,但效率比较低。它是一套由Fabrice Bellard所编写的以GPL许可证分发源码的模拟处理器,在GNU/Linux平台上使用广泛。QEMU具有高速度和跨平台的特性,QEMU能模拟至接近真实电脑的速度。

(2).安装KVM前的准备

由于我是在VMware里的CentOS7中安装KVM,首先需要确保系统是64位的。

其次虚拟机设置,内存需要调大一点(我这里给的是4G),处理器核心数也多一点(我这里给到了物理核心数),处理器中还要开启虚拟化Intel VT-x/EPT或AMD-V/RVI,以及虚拟化CPU性能计数器(官方说明:如果您打算使用性能监控应用程序(如 VTune 或 OProfile)优化或调试虚拟机中运行的软件,可以打开此功能),最后加一块硬盘(我给的是50G)

VMware官方文档:/cn/VMware-Workstation-Pro/index.html

以上做完后登录系统,如果是Intel的CPU可以使用cat /proc/cpuinfo | grep --color vmx命令查看CPU是否支持全虚拟化,如果是AMD的CPU可以使用cat /proc/cpuinfo | grep --color svm命令查看CPU是否支持全虚拟化。如果是物理机也可以通过上网查找CPU型号来查看是否支持全虚拟化。

[root@youxi1 ~]# cat /proc/cpuinfo | grep --color vmxflags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss ht syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology tsc_reliable nonstop_tsc aperfmperf pni pclmulqdq vmx ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm epb tpr_shadow vnmi ept vpid fsgsbase tsc_adjust smep dtherm ida arat pln ptsflags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss ht syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology tsc_reliable nonstop_tsc aperfmperf pni pclmulqdq vmx ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm epb tpr_shadow vnmi ept vpid fsgsbase tsc_adjust smep dtherm ida arat pln ptsflags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss ht syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology tsc_reliable nonstop_tsc aperfmperf pni pclmulqdq vmx ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm epb tpr_shadow vnmi ept vpid fsgsbase tsc_adjust smep dtherm ida arat pln ptsflags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss ht syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology tsc_reliable nonstop_tsc aperfmperf pni pclmulqdq vmx ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm epb tpr_shadow vnmi ept vpid fsgsbase tsc_adjust smep dtherm ida arat pln pts[root@youxi1 ~]# cat /proc/cpuinfo | grep --color svm

在确认CPU支持虚拟化之后,进入BIOS界面开启虚拟化支持,一般在设置或高级设置里面,找找有没有虚拟技术(Virtual Technology)。

(3).安装KVM

配置本地系统镜像yum源(详见:配置本地yum源)和阿里云yum源,本地系统镜像yum源只需要临时挂载即可

wget -O /etc/yum.repos.d/CentOS-Base.repo /repo/Centos-7.repo//基础源wget -O /etc/yum.repos.d/epel.repo /repo/epel-7.repo//epel源yum clean all//清空yum缓存yum list//根据新的yum源重新缓存

安装KVM模块、管理工具和虚拟化服务,并启动

[root@youxi1 ~]# yum -y install qemu-kvm virt-install virt-manager libvirt libguestfs-tools libvirt-python[root@youxi1 ~]# systemctl start libvirtd[root@youxi1 ~]# systemctl is-enabled libvirtd//安装完成后,默认开机自启,如果显示disable请手动设置enabled[root@youxi1 ~]# ip a sh1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 00:0c:29:e6:d6:27 brd ff:ff:ff:ff:ff:ffinet 192.168.5.101/24 brd 192.168.5.255 scope global noprefixroute ens33valid_lft forever preferred_lft foreverinet6 fe80::201:7257:85b:7dc8/64 scope link noprefixroute valid_lft forever preferred_lft forever3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000link/ether 52:54:00:4b:93:10 brd ff:ff:ff:ff:ff:ffinet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0valid_lft forever preferred_lft forever4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000link/ether 52:54:00:4b:93:10 brd ff:ff:ff:ff:ff:ff

说明:qemu-kvm,KVM主程序,KVM虚拟化模块;virt-install,安装虚拟机的工具;virt-manager,KVM图形化管理工具;libvirt,虚拟化服务;libguestfs-tools,虚拟机的系统管理工具;libvirt-python,python调用libvirt虚拟化服务的api接口库文件。

启动libvirtd后,会出现一块virbr0网卡,IP地址默认192.168.122.1/24。

(4).配置KVM网络桥接功能

我们经常所说的Bridge设备其实就是网桥设备,也就相当于现在的二层交换机,用于连接同一网段内的所有机器,所以我们的目的就是将网络设备ens33添加到br0,此时br0就成为了所谓的交换机设备,我们物理机的ens33也是连接在上面的。

安装网桥设备工具,并进行配置

[root@youxi1 ~]# yum -y install bridge-utils[root@youxi1 ~]# cp /etc/sysconfig/network-scripts/ifcfg-ens33 .//备份[root@youxi1 ~]# lsanaconda-ks.cfg ifcfg-ens33[root@youxi1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33#IPADDR="192.168.5.101"#PREFIX="24"#GATEWAY="192.168.5.2"#DNS1="192.168.5.2"BRIDGE="br0"//添加[root@youxi1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-br0//新建网桥配置文件DEVICE="br0"NM_CONTROLLED="yes"ONBOOT="yes"TYPE="Bridge"//Bridge开头的B必须大写BOOTPROTO=noneIPADDR=192.168.5.101//需要与ens33注释的信息一致NETMASK=255.255.255.0GATEWAY=192.168.5.2DNS1=192.168.5.2

重启网络,并进行查看

[root@youxi1 ~]# systemctl restart network[root@youxi1 ~]# ip a sh1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP group default qlen 1000link/ether 00:0c:29:e6:d6:27 brd ff:ff:ff:ff:ff:ff3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000link/ether 52:54:00:4b:93:10 brd ff:ff:ff:ff:ff:ffinet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0valid_lft forever preferred_lft forever4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000link/ether 52:54:00:4b:93:10 brd ff:ff:ff:ff:ff:ff5: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000link/ether 00:0c:29:e6:d6:27 brd ff:ff:ff:ff:ff:ffinet 192.168.5.101/24 brd 192.168.5.255 scope global noprefixroute br0valid_lft forever preferred_lft foreverinet6 fe80::20c:29ff:fee6:d627/64 scope link valid_lft forever preferred_lft forever[root@youxi1 ~]# ping //测试网络是否正常PING www. (180.101.49.12) 56(84) bytes of data.64 bytes from 180.101.49.12 (180.101.49.12): icmp_seq=1 ttl=128 time=7.59 ms64 bytes from 180.101.49.12 (180.101.49.12): icmp_seq=2 ttl=128 time=6.06 ms64 bytes from 180.101.49.12 (180.101.49.12): icmp_seq=3 ttl=128 time=6.30 ms^C--- www. ping statistics ---3 packets transmitted, 3 received, 0% packet loss, time msrtt min/avg/max/mdev = 6.062/6.652/7.594/0.679 ms

(5).创建一台虚拟机

KVM可以直接使用命令创建虚拟机,也可以在图形用户界面创建虚拟机,不过一般会直接使用命令安装,因为比较节省资源。

不过在那之前,首先需要将sdb进行分区,格式化并挂载。

[root@youxi1 ~]# fdisk /dev/sdb//新建分区欢迎使用 fdisk (util-linux 2.23.2)。更改将停留在内存中,直到您决定将更改写入磁盘。使用写入命令前请三思。Device does not contain a recognized partition table使用磁盘标识符 0x5ddf8670 创建新的 DOS 磁盘标签。命令(输入 m 获取帮助):nPartition type:p primary (0 primary, 0 extended, 4 free)e extendedSelect (default p): p分区号 (1-4,默认 1):起始 扇区 (2048-104857599,默认为 2048):将使用默认值 2048Last 扇区, +扇区 or +size{K,M,G} (2048-104857599,默认为 104857599):将使用默认值 104857599分区 1 已设置为 Linux 类型,大小设为 50 GiB命令(输入 m 获取帮助):wThe partition table has been altered!Calling ioctl() to re-read partition table.正在同步磁盘。[root@youxi1 ~]# mkfs.xfs /dev/sdb1//格式化meta-data=/dev/sdb1 isize=512 agcount=4, agsize=3276736 blks= sectsz=512 attr=2, projid32bit=1= crc=1 finobt=0, sparse=0data= bsize=4096 blocks=13106944, imaxpct=25= sunit=0swidth=0 blksnaming =version 2 bsize=4096 ascii-ci=0 ftype=1log=internal log bsize=4096 blocks=6399, version=2= sectsz=512 sunit=0 blks, lazy-count=1realtime =none extsz=4096 blocks=0, rtextents=0[root@youxi1 ~]# mount /dev/sdb1 /var/lib/libvirt/images///挂载[root@youxi1 ~]# blkid//查看sdb1的UUID/dev/sda1: UUID="037d87f8-b6dd-426c-9d71-7ce5ec0d4103" TYPE="xfs" /dev/sda2: UUID="qryeOm-pb2K-SeE0-10tR-0jSL-x15s-4yI6cl" TYPE="LVM2_member" /dev/sdb1: UUID="771ee3b3-ba49-49bc-b3be-3736a329f532" TYPE="xfs" /dev/sr0: UUID="-05-03-20-55-23-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos" /dev/mapper/vg1-root: UUID="dffa058f-4c86-480b-8ff9-bfe973f7ca95" TYPE="xfs" /dev/mapper/vg1-swap: UUID="289bf00b-3804-4b11-8c8d-1dc964fc3a8b" TYPE="swap" [root@youxi1 ~]# echo "UUID=771ee3b3-ba49-49bc-b3be-3736a329f532 /var/lib/libvirt/images/ xfs defaults 0 0" >> /etc/fstab

1)图形界面新建虚拟机

首先确保有图形界面,没有的使用如下命令进行安装。在安装过程的同时,可以上传一个系统镜像

[root@youxi1 ~]# yum -y groupinstall "GNOME Desktop"//如果遇到如下错误,请使用下面的升级包命令Transaction check error:file /boot/efi/EFI/centos from install of fwupdate-efi-12-5.el7.centos.x86_64 conflicts with file from package grub2-common-1:2.02-0.65.el7.centos.2.noarch[root@youxi1 ~]# yum -y upgrade//该命令升级所有包,但不改变软件和系统设置,内核不变//接着重新安装图形界面[root@youxi1 ~]# yum -y groupinstall "GNOME Desktop"[root@youxi1 ~]# init 5//转到图形化界面

然后经过一系列的设置,注销新建的用户,回到root用户下总算可以开始新建虚拟机了。使用命令virt-manager调出虚拟系统管理器,当然也可以在应用程序-->系统工具-->虚拟系统管理器来调出。

选中QEMU/KVM,右键新建

接着出现如下界面,选择本地安装介质,前进(Next)

使用ISO映像,点击浏览

会出现一个新的界面,点击本地浏览

找到上传的ISO位置,最后点击打开即可

此时又会回到之前的“使用ISO映像”的页面,点击前进。如果是在/root/目录下会提示可能没有权限

设置内存和CPU,然后点击前进

设置硬盘大小,前进

设置虚拟机名称,选择网络,完成

最后会跳出一个CentOS7的安装界面,正常安装即可。

在这个界面的菜单栏下方,小灯泡标志就是设置界面。

2)字符界面新建虚拟机

在安装前,请先看(6).扩展。我看了很多都是伪字符界面安装,都是用的VNC安装,找了一段时间看到了这位大佬的文章:/qeeezz11224/article/details/84575910

可以在新建KVM虚拟机之前使用命令指定虚拟机存储格式,最常见的是qemu-img命令。

使用virt-install新建一个KVM虚拟机。注意:由于我是复制下来的,所以看到的设置菜单的格式会有问题,大概看看,很简单的。感叹号!表示有问题,需要修改或等待刷新根据下方提示进行操作。

[root@youxi1 ~]# virt-install --virt-type kvm \--name centos75 \--vcpus 1 \--memory 1024 \--location /root/CentOS-7-x86_64-DVD-1804.iso \--disk /var/lib/libvirt/images/centos75.img,size=10 \--network bridge=br0 \--graphics none \--extra-args='console=ttyS0' \--force......//中间跑一段时间,出现第一个界面Installation1) [x] Language settings 2) [!] Time settings(English (United States)) (Timezone is not set.)3) [!] Installation source 4) [!] Software selection(Processing...) (Processing...)5) [!] Installation Destination 6) [x] Kdump(No disks selected) (Kdump is enabled)7) [ ] Network configuration 8) [!] Root password(Not connected) (Password is not set.)9) [!] User creation(No user will be created)Please make your choice from above ['q' to quit | 'b' to begin installation |'r' to refresh]:1//光标是在这个位置,输入1设置语言,<Enter>回车[anaconda] 1:main* 2:shell 3:log 4:storage-lo> Switch tab: Alt+Tab | Help: F1//出现如下页面================================================================================================================================================================Language settingsAvailable languages1) Afrikaans 25) Hindi 48) Oriya2) Amharic 26) Croatian 49) Punjabi3) Arabic 27) Hungarian 50) Polish4) Assamese 28) Interlingua 51) Portuguese5) Asturian 29) Indonesian 52) Romanian6) Belarusian 30) Icelandic 53) Russian7) Bulgarian 31) Italian 54) Sinhala8) Bengali 32) Japanese 55) Slovak9) Bosnian 33) Georgian 56) Slovenian10) Catalan 34) Kazakh 57) Albanian11) Czech 35) Kannada 58) Serbian12) Welsh 36) Korean 59) Swedish13) Danish 37) Lithuanian 60) Tamil14) German 38) Latvian 61) Telugu15) Greek 39) Maithili 62) Tajik16) English 40) Macedonian 63) Thai17) Spanish 41) Malayalam 64) Turkish18) Estonian 42) Marathi 65) Ukrainian19) Basque 43) Malay 66) Urdu20) Persian 44) Norwegian Bokmål 67) Vietnamese21) Finnish 45) Nepali 68) Chinese22) French 46) Dutch 69) ZuluPress ENTER to continue//没显示完,<Enter>回车一下23) Galician 47) Northern Sotho24) Gujarati[b to return to language list, c to continue, q to quit]:68//输入68中文,<Enter>回车[anaconda] 1:main* 2:shell 3:log 4:storage-lo> Switch tab: Alt+Tab | Help: F1//出现如下页面================================================================================================================================================================Language settingsAvailable locales1) Simplified Chinese 3) Traditional Chinese 4) Simplified Chinese(China) (Hong Kong) (Singapore)2) Traditional Chinese(Republic of China)Please select language support to install.[b to return to language list, c to continue, q to quit]://输入1简体中文,<Enter>回车[anaconda] 1:main* 2:shell 3:log 4:storage-lo> Switch tab: Alt+Tab | Help: F1//之后会回到设置菜单界面,可以看到语言设置下方变成了简体中文================================================================================================================================================================Installation1) [x] Language settings 2) [!] Time settings(Simplified Chinese (China)) (Timezone is not set.)3) [x] Installation source 4) [x] Software selection(Local media) (Minimal Install)5) [!] Installation Destination 6) [x] Kdump(No disks selected) (Kdump is enabled)7) [ ] Network configuration 8) [!] Root password(Not connected) (Password is not set.)9) [!] User creation(No user will be created)Please make your choice from above ['q' to quit | 'b' to begin installation |'r' to refresh]:2 //光标在此处,输入2设置时间,<Enter>回车[anaconda] 1:main* 2:shell 3:log 4:storage-lo> Switch tab: Alt+Tab | Help: F1//出现如下页面================================================================================================================================================================Time settingsTimezone: not setNTP servers:not configured1) Set timezone2) Configure NTP serversPlease make your choice from above ['q' to quit | 'c' to continue |'r' to refresh]: 1//输入1设置时区,<Enter>回车[anaconda] 1:main* 2:shell 3:log 4:storage-lo> Switch tab: Alt+Tab | Help: F1//出现如下页面================================================================================================================================================================Timezone settingsAvailable regions1) Europe 6) Pacific 10) Arctic2) Asia 7) Australia 11) US3) America 8) Atlantic 12) Etc4) Africa 9) Indian5) AntarcticaPlease select the timezone.Use numbers or type names directly [b to region list, q to quit]: 2//选择大区,输入2亚洲,<Enter>回车[anaconda] 1:main* 2:shell 3:log 4:storage-lo> Switch tab: Alt+Tab | Help: F1//出现如下页面================================================================================================================================================================Timezone settingsAvailable timezones in region Asia1) Aden 29) Hong_Kong 56) Pontianak2) Almaty 30) Hovd 57) Pyongyang3) Amman 31) Irkutsk 58) Qatar4) Anadyr 32) Jakarta 59) Qyzylorda5) Aqtau 33) Jayapura 60) Riyadh6) Aqtobe 34) Jerusalem 61) Sakhalin7) Ashgabat 35) Kabul 62) Samarkand8) Atyrau 36) Kamchatka 63) Seoul9) Baghdad 37) Karachi 64) Shanghai10) Bahrain 38) Kathmandu 65) Singapore11) Baku 39) Khandyga 66) Srednekolymsk12) Bangkok 40) Kolkata 67) Taipei13) Barnaul 41) Krasnoyarsk 68) Tashkent14) Beirut 42) Kuala_Lumpur 69) Tbilisi15) Bishkek 43) Kuching 70) Tehran16) Brunei 44) Kuwait 71) Thimphu17) Chita 45) Macau 72) Tokyo18) Choibalsan 46) Magadan 73) Tomsk19) Colombo 47) Makassar 74) Ulaanbaatar20) Damascus 48) Manila 75) Urumqi21) Dhaka 49) Muscat 76) Ust-Nera22) Dili 50) Nicosia 77) VientianePress ENTER to continue//<Enter>回车一下,还有区域没显示23) Dubai 51) Novokuznetsk 78) Vladivostok24) Dushanbe 52) Novosibirsk 79) Yakutsk25) Famagusta 53) Omsk 80) Yangon26) Gaza 54) Oral 81) Yekaterinburg27) Hebron 55) Phnom_Penh 82) Yerevan28) Ho_Chi_MinhPlease select the timezone.Use numbers or type names directly [b to region list, q to quit]:64//选择具体地点,输入64上海,<Enter>回车[anaconda] 1:main* 2:shell 3:log 4:storage-lo> Switch tab: Alt+Tab | Help: F1//之后会回到设置菜单界面,可以看到时间设置下方变成了亚洲/上海时区================================================================================================================================================================Installation1) [x] Language settings 2) [x] Time settings(Simplified Chinese (China)) (Asia/Shanghai timezone)3) [x] Installation source 4) [x] Software selection(Local media) (Minimal Install)5) [!] Installation Destination 6) [x] Kdump(No disks selected) (Kdump is enabled)7) [ ] Network configuration 8) [!] Root password(Not connected) (Password is not set.)9) [!] User creation(No user will be created)Please make your choice from above ['q' to quit | 'b' to begin installation |'r' to refresh]:5 //这里输入5安装地址,<Enter>回车。3是安装源,4软件选择,有需要的可以设置[anaconda] 1:main* 2:shell 3:log 4:storage-lo> Switch tab: Alt+Tab | Help: F1//出现如下页面================================================================================================================================================================Probing storage...Installation Destination[x] 1) : 10 GiB (vda)1 disk selected; 10 GiB capacity; 10 GiB free ...Please make your choice from above ['q' to quit | 'c' to continue |'r' to refresh]: c//输入c继续,<Enter>回车[anaconda] 1:main* 2:shell 3:log 4:storage-lo> Switch tab: Alt+Tab | Help: F1//出现如下页面================================================================================================================================================================Autopartitioning Options[ ] 1) Replace Existing Linux system(s)[x] 2) Use All Space[ ] 3) Use Free SpaceInstallation requires partitioning of your hard drive. Select what space to usefor the install target.Please make your choice from above ['q' to quit | 'c' to continue |'r' to refresh]: c//这个需要根据自己选择,我这里就使用所有空间,输入c继续,<Enter>回车[anaconda] 1:main* 2:shell 3:log 4:storage-lo> Switch tab: Alt+Tab | Help: F1//出现如下页面================================================================================================================================================================Partition Scheme Options[ ] 1) Standard Partition[ ] 2) Btrfs[x] 3) LVM[ ] 4) LVM Thin ProvisioningSelect a partition scheme configuration.Please make your choice from above ['q' to quit | 'c' to continue |'r' to refresh]: c//这里也是根据需要选择,我使用LVM,输入c继续,<Enter>回车[anaconda] 1:main* 2:shell 3:log 4:storage-lo> Switch tab: Alt+Tab | Help: F1//需要等待一段时间,回到菜单设置页面================================================================================================================================================================Installation1) [x] Language settings 2) [x] Time settings(Simplified Chinese (China)) (Asia/Shanghai timezone)3) [x] Installation source 4) [x] Software selection(Local media) (Minimal Install)5) [x] Installation Destination 6) [x] Kdump(Automatic partitioning (Kdump is enabled)selected) 8) [!] Root password7) [ ] Network configuration (Password is not set.)(Not connected)9) [!] User creation(No user will be created)Please make your choice from above ['q' to quit | 'b' to begin installation |'r' to refresh]: 8//输入8设置root密码,<Enter>回车。6是内核崩溃转储机制,可以开启也可以关闭[anaconda] 1:main* 2:shell 3:log 4:storage-lo> Switch tab: Alt+Tab | Help: F1//出现如下页面================================================================================================================================================================Please select new root password. You will have to type it twice.Password://输入root密码,我这里是123456,<Enter>回车Password (confirm): //回车后才会出现,重复密码[anaconda] 1:main* 2:shell 3:log 4:storage-lo> Switch tab: Alt+Tab | Help: F1//出现如下页面,提示的是密码太简单了,是否继续使用,我是实验没关系所以yes================================================================================================================================================================QuestionThe password you have provided is weak: The password fails the dictionary check- it is too simplistic/systematic.Would you like to use it anyway?Please respond 'yes' or 'no': yes//输入yes,<Enter>回车//之后回到设置菜单页面================================================================================================================================================================Installation1) [x] Language settings 2) [x] Time settings(Simplified Chinese (China)) (Asia/Shanghai timezone)3) [x] Installation source 4) [x] Software selection(Local media) (Minimal Install)5) [x] Installation Destination 6) [x] Kdump(Automatic partitioning (Kdump is enabled)selected) 8) [x] Root password7) [ ] Network configuration (Password is set.)(Not connected)9) [ ] User creation(No user will be created)Please make your choice from above ['q' to quit | 'b' to begin installation |'r' to refresh]: 7//输入7设置网络,<Enter>回车[anaconda] 1:main* 2:shell 3:log 4:storage-lo> Switch tab: Alt+Tab | Help: F1//出现如下页面================================================================================================================================================================Network configurationWired (eth0) disconnectedHost name: localhost.localdomain//这是默认的主机名Current host name: localhost1) Set host name2) Configure device eth0Please make your choice from above ['q' to quit | 'c' to continue |'r' to refresh]: 1//输入1设置主机名,<Enter>回车[anaconda] 1:main* 2:shell 3:log 4:storage-lo> Switch tab: Alt+Tab | Help: F1//出现如下页面================================================================================================================================================================Enter new value for 'Host name' and press enterkvm-CentOS7.5//注意只能使用大小写字母、数值、减号、小数点,并且不能以减号开头或结尾[anaconda] 1:main* 2:shell 3:log 4:storage-lo> Switch tab: Alt+Tab | Help: F1//设置完成后,回到之前的界面================================================================================================================================================================Network configurationWired (eth0) disconnectedHost name: kvm-CentOS7.5//可以看到主机名改了Current host name: localhost1) Set host name2) Configure device eth0Please make your choice from above ['q' to quit | 'c' to continue |'r' to refresh]: 2//输入2设置eth0网卡设备,<Enter>回车[anaconda] 1:main* 2:shell 3:log 4:storage-lo> Switch tab: Alt+Tab | Help: F1//出现如下页面================================================================================================================================================================Device configuration1) IPv4 address or "dhcp" for DHCPdhcp2) IPv4 netmask3) IPv4 gateway4) IPv6 address[/prefix] or "auto" for automatic, "dhcp" for DHCP, "ignore" toturn offauto5) IPv6 default gateway6) Nameservers (comma separated)7) [ ] Connect automatically after reboot8) [ ] Apply configuration in installerConfiguring device eth0.Please make your choice from above ['q' to quit | 'c' to continue |'r' to refresh]: //太多了,我这里整合一下[anaconda] 1:main* 2:shell 3:log 4:storage-lo> Switch tab: Alt+Tab | Help: F1//输入1设置IPv4地址,出现如下页面================================================================================================================================================================Enter new value for 'IPv4 address or "dhcp" for DHCP' and press enter192.168.5.151//输入一个IPv4地址[anaconda] 1:main* 2:shell 3:log 4:storage-lo> Switch tab: Alt+Tab | Help: F1//输入2设置子网掩码,出现如下页面================================================================================================================================================================Enter new value for 'IPv4 netmask' and press enter255.255.255.0//输入子网掩码[anaconda] 1:main* 2:shell 3:log 4:storage-lo> Switch tab: Alt+Tab | Help: F1//输入3设置IPv4网关,出现如下页面================================================================================================================================================================Enter new value for 'IPv4 gateway' and press enter192.168.5.2[anaconda] 1:main* 2:shell 3:log 4:storage-lo> Switch tab: Alt+Tab | Help: F1//输入6设置DNS服务器,出现如下页面================================================================================================================================================================Enter new value for 'Nameservers (comma separated)' and press enter192.168.5.2[anaconda] 1:main* 2:shell 3:log 4:storage-lo> Switch tab: Alt+Tab | Help: F1//输入7设置重新启动后自动连接//输入8设置在安装程序中应用配置//最后设置完成的界面如下================================================================================================================================================================Device configuration1) IPv4 address or "dhcp" for DHCP192.168.5.1512) IPv4 netmask255.255.255.03) IPv4 gateway192.168.5.24) IPv6 address[/prefix] or "auto" for automatic, "dhcp" for DHCP, "ignore" toturn offauto5) IPv6 default gateway6) Nameservers (comma separated)192.168.5.27) [x] Connect automatically after reboot8) [x] Apply configuration in installerConfiguring device eth0.Please make your choice from above ['q' to quit | 'c' to continue |'r' to refresh]: c//输入c继续,<Enter>回车[anaconda] 1:main* 2:shell 3:log 4:storage-lo> Switch tab: Alt+Tab | Help: F1//回到上一个界面================================================================================================================================================================Network configurationWired (eth0) connectedIPv4 Address: 192.168.5.151 Netmask: 255.255.255.0 Gateway: 192.168.5.2DNS: 192.168.5.2//网络信息Host name: kvm-CentOS7.5//主机名Current host name: localhost1) Set host name2) Configure device eth0Please make your choice from above ['q' to quit | 'c' to continue |'r' to refresh]: c//输入c继续,<Enter>回车[anaconda] 1:main* 2:shell 3:log 4:storage-lo> Switch tab: Alt+Tab | Help: F1//回到菜单设置页面================================================================================================================================================================Installation1) [x] Language settings 2) [x] Time settings(Simplified Chinese (China)) (Asia/Shanghai timezone)3) [x] Installation source 4) [!] Software selection(Local media) (Source changed - please5) [x] Installation Destination verify)(Automatic partitioning 6) [x] Kdumpselected) (Kdump is enabled)7) [x] Network configuration 8) [x] Root password(Wired (eth0) connected) (Password is set.)9) [ ] User creation(No user will be created)Please make your choice from above ['q' to quit | 'b' to begin installation |'r' to refresh]: 4//输入4软件选择,<Enter>回车。见鬼4怎么变了,跑一下吧[anaconda] 1:main* 2:shell 3:log 4:storage-lo> Switch tab: Alt+Tab | Help: F1//出现如下页面================================================================================================================================================================Base environmentSoftware selectionBase environment1) [x] Minimal Install 7) [ ] Server with GUI2) [ ] Compute Node 8) [ ] GNOME Desktop3) [ ] Infrastructure Server 9) [ ] KDE Plasma Workspaces4) [ ] File and Print Server 10) [ ] Development and Creative5) [ ] Basic Web Server Workstation6) [ ] Virtualization HostPlease make your choice from above ['q' to quit | 'c' to continue |'r' to refresh]: c//就用最小化安装。输入c继续,<Enter>回车[anaconda] 1:main* 2:shell 3:log 4:storage-lo> Switch tab: Alt+Tab | Help: F1//回到设置菜单页面================================================================================================================================================================Installation1) [x] Language settings 2) [x] Time settings(Simplified Chinese (China)) (Asia/Shanghai timezone)3) [!] Installation source 4) [!] Software selection(Processing...) (Processing...)5) [x] Installation Destination 6) [x] Kdump(Automatic partitioning (Kdump is enabled)selected) 8) [x] Root password7) [x] Network configuration (Password is set.)(Wired (eth0) connected)9) [ ] User creation(No user will be created)Please make your choice from above ['q' to quit | 'b' to begin installation |'r' to refresh]: r//正在加载等一会儿,输入r刷新一下,<Enter>回车[anaconda] 1:main* 2:shell 3:log 4:storage-lo> Switch tab: Alt+Tab | Help: F1//再看设置菜单页面================================================================================================================================================================Installation1) [x] Language settings 2) [x] Time settings(Simplified Chinese (China)) (Asia/Shanghai timezone)3) [x] Installation source 4) [x] Software selection(Local media) (Minimal Install)5) [x] Installation Destination 6) [x] Kdump(Automatic partitioning (Kdump is enabled)selected) 8) [x] Root password7) [x] Network configuration (Password is set.)(Wired (eth0) connected)9) [ ] User creation(No user will be created)Please make your choice from above ['q' to quit | 'b' to begin installation |'r' to refresh]: b//正常了,输入b开始安装,<Enter>回车[anaconda] 1:main* 2:shell 3:log 4:storage-lo> Switch tab: Alt+Tab | Help: F1//下面就等待安装,时间会比较长,请耐心等待。最后会出现Use of this product is subject to the license agreement found at /usr/share/centos-release/EULAInstallation complete. Press return to quit//这里按回车//然后会出现一堆停止或关闭参数,不用管他,这是虚拟机在关闭。最后还会出现一个报错,如下误:操作失败: 这个域有活跃控制台会话//这个报错是没有关系的,表明这个虚拟关机了

查看一下新建的centos75虚拟机,以及默认镜像格式

[root@youxi1 ~]# virsh list --allId 名称状态----------------------------------------------------2centos75 running-centos7.0 关闭[root@youxi1 ~]# qemu-img info /var/lib/libvirt/images/centos75.imgimage: /var/lib/libvirt/images/centos75.imgfile format: qcow2//默认格式就是qcow2的,所以我没有先创建系统镜像virtual size: 10G (10737418240 bytes)disk size: 1.3Gcluster_size: 65536Format specific information:compat: 1.1lazy refcounts: true

启动了,那么我们使用远程工具连接一下试试

----->---->----->

可以看到是成功连接了,随便输入个命令试试

[root@kvm-CentOS7 ~]# ip a sh1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 52:54:00:71:3c:50 brd ff:ff:ff:ff:ff:ffinet 192.168.5.151/24 brd 192.168.5.255 scope global noprefixroute eth0valid_lft forever preferred_lft foreverinet6 fe80::4bf9:e184:aff2:ec5f/64 scope link noprefixroute valid_lft forever preferred_lft forever

上面是直连KVM虚拟机,但有时候会需要从物理机上进入KVM虚拟机,如下。但这有一个问题,我不知道怎么从KVM虚拟机上回到物理,除了关机。所以我建议使用远程软件连入物理机,再进入KVM虚拟机,使用完成后关闭窗口即可。

[root@youxi1 ~]# virsh console centos75//此时是物理机连接到域 centos75换码符为 ^]quit密码:Login incorrectkvm-CentOS7 login: root密码:Last login: Mon Sep 9 09:25:33 on ttyS0[root@kvm-CentOS7 ~]# //进入到KVM虚拟机

(6).扩展:

1)KVM虚拟机管理常用命令

virsh list查看正在运行的虚拟机,virsh list --all

[root@youxi1 ~]# virsh list --all Id 名称状态-----------------------------------------------------centos7.0 关闭[root@youxi1 ~]# virsh listId 名称状态----------------------------------------------------

virsh start [虚拟机名称]启动虚拟机,virsh shutdown [虚拟机名称]关闭虚拟机,virsh autostart [虚拟机名称]设置虚拟机随物理机启动,virsh autostart --disable [虚拟机名称]取消虚拟机随物理机启动。注意:使用virsh autostart [虚拟机名称]时,请确保KVM虚拟机服务(服务名为libvirtd)开机启动。

[root@youxi1 ~]# virsh start centos7.0域 centos7.0 已开始[root@youxi1 ~]# virsh listId 名称状态----------------------------------------------------1centos7.0 running[root@youxi1 ~]# virsh shutdown centos7.0域 centos7.0 被关闭[root@youxi1 ~]# virsh list --allId 名称状态-----------------------------------------------------centos7.0 关闭[root@youxi1 ~]# systemctl is-enabled libvirtdenabled[root@youxi1 ~]# virsh autostart centos7.0域 centos7.0标记为自动开始[root@youxi1 ~]# virsh autostart --disable centos7.0域 centos7.0取消标记为自动开始

2)KVM虚拟机创建命令

virt-install--name [虚拟机名称] --memory [内存分配] [options]

常用选项:

--virt-type [管理程序名称]使用的管理程序名称,取代了以前的--accelerate选项,包含kvm、qemu、xen等-n [虚拟机名称],--name [虚拟机名称]指定虚拟机名称--memory [内存分配]指定内存大小分配例如:--memory 1024 (in MiB)--memory 512,maxmemory=1024--memory 512,maxmemory=1024,hotplugmemorymax=2048,hotplugmemoryslots=2--vcpus [CPU分配]指定虚拟CPU数量例如:--vcpus 5--vcpus 5,maxcpus=10,cpuset=1-4,6,8--vcpus sockets=2,cores=4,threads=2--disk [存储分配]指定虚拟机磁盘存储文件路径例如:--disk size=10 (在默认位置创建 10GiB 镜像)--disk /my/existing/disk,cache=none--disk device=cdrom,bus=scsi--disk=?--cdrom [光盘镜像]指定安装系统的光盘镜像-l [系统镜像],--location [系统镜像]这个镜像可以是网络,也可以是本地例如:nfs:host:/path, http://host/path,ftp://host/path-w [网络接口],--network [网络接口]指定虚拟机的网络接口例如:--network bridge=mybr0--network network=my_libvirt_virtual_net--network network=mynet,model=virtio,mac=00:11...--network none--network help-x [额外参数],--extra-args [额外参数]将附加参数添加到--location引导的内核中,提供额外的内核命令行参数,比如用于无人值守安装

3)VMware迁移到KVM

需要安装virt-v2v,命令yum -y install virt-v2v

如果觉得《Linux的桌面虚拟化技术KVM(一)——新建KVM虚拟机》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。