Linux安装kvm虚拟机


检测是否支持KVM

KVM 是基于 x86 虚拟化扩展(Intel VT 或者 AMD-V) 技术的虚拟机软件,所以查看 CPU 是否支持 VT 技术,就可以判断是否支持KVM。有返回结果,如果结果中有vmx(Intel)或svm(AMD)字样,就说明CPU的支持的。

$ cat /proc/cpuinfo | egrep 'vmx|svm'

关闭SELinux

将 /etc/sysconfig/selinux 中的 SELinux=enforcing 修改为 SELinux=disabled

$ vi /etc/sysconfig/selinux

通过 yum 安装 kvm 基础包和管理工具

kvm相关安装包及其作用:
• qemu-kvm 主要的KVM程序包
• python-virtinst 创建虚拟机所需要的命令行工具和程序库
• virt-manager GUI虚拟机管理工具
• virt-top 虚拟机统计命令
• virt-viewer GUI连接程序,连接到已配置好的虚拟机
• libvirt C语言工具包,提供libvirt服务
• libvirt-client 为虚拟客户机提供的C语言工具包
• virt-install 基于libvirt服务的虚拟机创建命令
• bridge-utils 创建和管理桥接设备的工具

$ yum -y install qemu-kvm python-virtinst libvirt libvirt-python virt-manager libguestfs-tools bridge-utils virt-install

$ yum -y install qemu-kvm libvirt virt-install bridge-utils

重启宿主机,以便加载 kvm 模块

$ reboot

查看KVM模块是否被正确加载

$ lsmod | grep kvm

查看状态操作结果,显示Active: active (running),说明运行情况良好

$ systemctl status libvirtd

$ systemctl is-enabled libvirtd

配置宿主机网卡和桥接网卡

在宿主机配置BRIDGE=”br0”指向桥接网卡,桥接网卡配置宿主机的网络ip,桥接网卡要与宿主机网卡在一个目录下

配置宿主机网卡

$ vi /etc/sysconfig/network-scripts/ifcfg-eno3

TYPE=Ethernet
PROXY_METHOD=none
#BROWSER_ONLY=no
#DEFROUTE=yes
#IPV4_FAILURE_FATAL=no
NAME=eno3
UUID=0b4ab041-ce65-43a2-8725-08ec6b4d4ee6
DEVICE=eno3
ONBOOT=yes
#IPADDR=192.168.1.114
#PREFIX=24
#GATEWAY=192.168.1.1
#DNS1=114.114.114.114
#IPV6_PRIVACY=no
BRIDGE="br0" #连接到桥接网卡

配置桥接网卡

$ vi /etc/sysconfig/network-scripts/ifcfg-br0
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
#IPV6INIT=yes
#IPV6_AUTOCONF=yes
#IPV6_DEFROUTE=yes
#IPV6_PEERDNS=yes
#IPV6_PEERROUTES=yes
#IPV6_FAILURE_FATAL=no
NAME=br0
UUID=242b3d4d-37a5-4f46-b072-55554c185ecf
DEVICE=br0
ONBOOT=yes
TYPE=bridge  # 将制定为桥接类型
IPADDR=192.168.1.114  # 设置IP地址
PREFIX=24               # 设置子网掩码
GATEWAY=192.168.1.1   # 设置网关                           

安装虚拟机

安装前要设置环境语言为英文LANG=”en_US.UTF-8”,如果是中文的话某些版本可能会报错。CentOS 7 在这里修改 /etc/locale.conf。

kvm创建虚拟机,特别注意.iso镜像文件一定放到/home 或者根目录重新创建目录,不然会因为权限报错,无法创建虚拟机。

name:虚拟机名称
Vcpus:CPU数量
Memeory:内存M为单位
Size:硬盘G为单位
location:iso文件保存路径
disk path:虚拟机文件存储路径
network:桥接的网络接口
extra-args:支持宿主机直接console登录虚拟机

$ virt-install \ 
--virt-type=kvm \
--name=CentOS71 \ 
--vcpus=4 \       
--memory=8192 \   
--location=/home/CentOS-7-x86_64-Minimal-2003.iso \
--disk path=/home/vms/centos72.qcow2,size=40,format=qcow2 \
--network bridge=br0 \
--graphics none \
--extra-args='console=ttyS0' \
--force

命令行配置系统

之前创建的虚拟机为基础设置,进入系统之后显示系统配置界面,带 [!] 基本都是要配置的,按照顺序往下配置,按对用的数字以此进行设置。

Installation

 1) [x] Language settings                 2) [!] Timezone 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]:

Timezone settings 时区设置选择 5) Asia亚洲,再选择城市 62) Shanghai上海

Available regions
 1)  Africa                 6)  Atlantic              10)  Pacific
 2)  America                7)  Australia             11)  US
 3)  Antarctica             8)  Europe                12)  Etc
 4)  Arctic                 9)  Indian
 5)  Asia
Please select the timezone.
Use numbers or type names directly [b to region list, q to quit]: 5
--------------------

 8)  Baghdad               35)  Kathmandu             61)  Seoul
 9)  Bahrain               36)  Khandyga              62)  Shanghai
10)  Baku                  37)  Kolkata               63)  Singapore
26)  Hong_Kong             53)  Pontianak
27)  Hovd
Please select the timezone.
Use numbers or type names directly [b to region list, q to quit]: 62

Installation source 安装源输入数字2

Choose an installation source type.
 1)  CD/DVD
 2)  local ISO file
 3)  Network
  Please make your choice from above ['q' to quit | 'c' to continue |
  'r' to refresh]: 2

Software selection 软件选择

Base environment
Software selection

Base environment

 1)  [x] Minimal Install
  Please make your choice from above ['q' to quit | 'c' to continue |
  'r' to refresh]:

Installation Destination 安装目的地

Installation Destination

[x] 1) : 40 GiB (vda)

1 disk selected; 40 GiB capacity; 40 GiB free ...

  Please make your choice from above ['q' to quit | 'c' to continue |
  'r' to refresh]: c

Autopartitioning Options 自动分区选项

[ ] 1) Replace Existing Linux system(s) 替换现有的Linux系统

[x] 2) Use All Space 使用所有空间

[ ] 3) Use Free Space 使用可用空间

================================================================================

Partition Scheme Options 分区方案选项

[ ] 1) Standard Partition 标准分区

[ ] 2) Btrfs Btrfs

[x] 3) LVM LVM(逻辑卷管理)

[ ] 4) LVM Thin Provisioning 精简配置

Select a partition scheme configuration.

Please make your choice from above ['q' to quit | 'c' to continue |
  'r' to refresh]: c

此处也可以只设置 Root 密码和Installation Destination 安装目的地其它进入系统设置比如时区设置如下:

$ echo "TZ='Asia/Shanghai'; export TZ" >> /etc/profile

至此KVM虚拟机安装完成,可以愉快的使用了

其他KVM虚拟机命令

$ virsh list --all           # 查看所有运行和没有运行的虚拟机
$ virsh list                 # 查看在运行的虚拟机
$ virsh dumpxml vm-name      # 查看kvm虚拟机配置文件
$ virsh start vm-name        # 启动kvm虚拟机
$ virsh shutdown vm-name     # 正常关机
$ virsh destroy vm-name      # 非正常关机,强制关闭虚拟机(相当于物理机直接拔掉电源)
$ virsh undefine vm-name     # 删除vm的配置文件
$ ls /etc/libvirt/qemu       # 查看删除结果,Centos-6.6的配置文件被删除,但磁盘文件不会被删除
$ virsh define file-name.xml # 根据配置文件定义虚拟机
$ virsh suspend vm-name      # 挂起,终止
$ virsh resumed vm-name      # 恢复被挂起的虚拟机
$ virsh autostart vm-name    # 开机自启动vm
$ virsh console <虚拟机名称>   # 连接虚拟机

$ exit # 退出系统到登录界面

Ctrl + 5 # 从虚拟机登录页面,退出到宿主机命令行页面
Ctrl + ] # 或者下面

文章作者: 花舞流觞
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 花舞流觞 !
  目录