Centos使用KVM创建虚拟机

 

服务器做raid阵列

分区格式化挂载

[root@localhost home]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0  1.8T  0 disk
├─sda1            8:1    0  500M  0 part /boot
└─sda2            8:2    0  1.8T  0 part
  ├─centos-root 253:0    0   50G  0 lvm  /
  ├─centos-swap 253:1    0 31.5G  0 lvm  [SWAP]
  └─centos-home 253:2    0  1.8T  0 lvm  /home
sdb               8:16   0  3.7T  0 disk
[root@localhost home]# fdisk -l

磁盘 /dev/sda:1999.8 GB, 1999844147200 字节,3905945600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000aa786

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     1026047      512000   83  Linux
/dev/sda2         1026048  3905945599  1952459776   8e  Linux LVM

磁盘 /dev/sdb:3999.7 GB, 3999688294400 字节,7811891200 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/mapper/centos-root:53.7 GB, 53687091200 字节,104857600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/mapper/centos-swap:33.8 GB, 33822867456 字节,66060288 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/mapper/centos-home:1911.7 GB, 1911738597376 字节,3733864448 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


[root@localhost home]# parted /dev/sdb
GNU Parted 3.1
使用 /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt
(parted) mkpart primary 0 3999.7GB
警告: The resulting partition is not properly aligned for best performance.
忽略/Ignore/放弃/Cancel? cancel
(parted) p
Model: DELL PERC H700 (scsi)
Disk /dev/sdb: 4000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start  End  Size  File system  Name  标志

(parted) q
信息: You may need to update /etc/fstab.

[root@localhost home]# fdisk -l

磁盘 /dev/sda:1999.8 GB, 1999844147200 字节,3905945600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000aa786

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     1026047      512000   83  Linux
/dev/sda2         1026048  3905945599  1952459776   8e  Linux LVM

磁盘 /dev/sdb:3999.7 GB, 3999688294400 字节,7811891200 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x00000000

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1               1  4294967295  2147483647+  ee  GPT

磁盘 /dev/mapper/centos-root:53.7 GB, 53687091200 字节,104857600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/mapper/centos-swap:33.8 GB, 33822867456 字节,66060288 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/mapper/centos-home:1911.7 GB, 1911738597376 字节,3733864448 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

[root@localhost home]# mkfs.ext4 -F /dev/sdb
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
244121600 inodes, 976486400 blocks
48824320 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=3124756480
29800 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
        102400000, 214990848, 512000000, 550731776, 644972544

Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

[root@localhost home]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   50G  3.1G   47G    7% /
devtmpfs                  24G     0   24G    0% /dev
tmpfs                     24G     0   24G    0% /dev/shm
tmpfs                     24G  8.7M   24G    1% /run
tmpfs                     24G     0   24G    0% /sys/fs/cgroup
/dev/sda1                497M  124M  373M   25% /boot
/dev/mapper/centos-home  1.8T   33M  1.8T    1% /home
[root@localhost home]# mount /dev/sdb /bigdata/
[root@localhost home]# vi /etc/fstab
[root@localhost home]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   50G  3.1G   47G    7% /
devtmpfs                  24G     0   24G    0% /dev
tmpfs                     24G     0   24G    0% /dev/shm
tmpfs                     24G  8.7M   24G    1% /run
tmpfs                     24G     0   24G    0% /sys/fs/cgroup
/dev/sda1                497M  124M  373M   25% /boot
/dev/mapper/centos-home  1.8T   33M  1.8T    1% /home
/dev/sdb                 3.6T   89M  3.4T    1% /bigdata

 

 

内核级虚拟化技术KVM

Kernel-based Virtual Machine

[root@localhost bigdata]# yum install qemu-kvm qemu-kvm-tools virt-manager libvirt virt-install -y
  • qemu-kvm 虚拟化软件
  • virsh virt-manager virt-viewer virt-install other-tools是libvirt用户态的工具
[root@localhost bigdata]# systemctl start libvirtd
[root@localhost bigdata]# systemctl enable libvirtd
Created symlink from /etc/systemd/system/sockets.target.wants/virtlockd.socket to /usr/lib/systemd/system/virtlockd.socket.
[root@localhost bigdata]# ifconfig
em1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.10.88  netmask 255.255.255.0  broadcast 192.168.10.255
        inet6 fe80::862b:2bff:fe18:a93f  prefixlen 64  scopeid 0x20<link>
        ether 84:2b:2b:18:a9:3f  txqueuelen 1000  (Ethernet)
        RX packets 3379310  bytes 5047701070 (4.7 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1772728  bytes 119035768 (113.5 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

em2: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 84:2b:2b:18:a9:41  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

em3: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 84:2b:2b:18:a9:43  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

em4: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 84:2b:2b:18:a9:45  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 14  bytes 1184 (1.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 14  bytes 1184 (1.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:c1:bc:67  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0 桥接网卡

 

创建虚拟机

安装VNC客户端 https://www.tightvnc.com/download.php

[root@localhost bigdata]# qemu-img create -f raw /bigdata/Centos-7-x86_64.raw 120G
Formatting '/bigdata/Centos-7-x86_64.raw', fmt=raw size=128849018880

 

安装虚拟机

[root@localhost bigdata]# virt-install --virt-type kvm --name Centos-7-x86_64 --ram 20480 --cdrom=/home/CentOS-7-x86_64-DVD-2003.iso --disk path=/bigdata/Centos-7-x86_64.raw --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole
ERROR    主机不支持 任意虚拟化选项

BIOS已经开启了虚拟化

[root@localhost ~]# yum -y install qemu-kvm qemu-kvm-tools qemu-img virt-manager libvirt libvirt-python libvirt-client virt-install virt-viewer bridge-utils libguestfs-tools

[root@localhost ~]# yum install -y openssl-1.0.2k*

再安装

 

打开VNCViewer,输入宿主机IP即可连接虚拟机

这里不能越过,必须打开VNCViewer,会安装centos,安装完成重启,继续下面的步骤。

 

 

[root@localhost ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 -     Centos-7-x86_64                关闭

[root@localhost ~]# virsh start Centos-7-x86_64
域 Centos-7-x86_64 已开始

 

Libvirt 管理KVM虚拟机

 

 

virsh 对虚拟机操作

 

[root@localhost ~]# cd /etc/libvirt/
[root@localhost libvirt]# ll
总用量 80
-rw-r--r--. 1 root root   450 5月  13 00:30 libvirt-admin.conf
-rw-r--r--. 1 root root   547 5月  13 00:30 libvirt.conf
-rw-r--r--. 1 root root 16529 5月  13 00:30 libvirtd.conf
-rw-r--r--. 1 root root  1175 5月  13 00:30 lxc.conf
drwx------. 2 root root  4096 6月  12 22:13 nwfilter
drwx------. 3 root root    47 6月  12 23:21 qemu
-rw-r--r--. 1 root root 30306 5月  13 00:30 qemu.conf
-rw-r--r--. 1 root root  2169 5月  13 00:30 qemu-lockd.conf
drwx------. 2 root root     6 6月  12 22:13 secrets
drwxr-xr-x  3 root root    55 6月  12 23:21 storage
-rw-r--r--. 1 root root  3202 5月  13 00:30 virtlockd.conf
-rw-r--r--. 1 root root  3247 5月  13 00:30 virtlogd.conf
[root@localhost libvirt]# cd qemu/
[root@localhost qemu]# ll
总用量 8
-rw-------  1 root root 4099 6月  12 23:21 Centos-7-x86_64.xml
drwx------. 3 root root   40 5月  13 00:30 networks

里面的xml文件是虚拟机的配置

[root@localhost qemu]# cat Centos-7-x86_64.xml

 

<!--
WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
OVERWRITTEN AND LOST. Changes to this xml configuration should be made using:
  virsh edit Centos-7-x86_64
or other application using the libvirt API.
-->

<domain type='kvm'>
  <name>Centos-7-x86_64</name>
  <uuid>e031c6cf-9b74-407d-b80c-4cf548657d15</uuid>
  <memory unit='KiB'>20971520</memory>
  <currentMemory unit='KiB'>20971520</currentMemory>
  <vcpu placement='static'>1</vcpu>
  <os>
    <type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <cpu mode='custom' match='exact' check='partial'>
    <model fallback='allow'>Nehalem</model>
  </cpu>
  <clock offset='utc'>
    <timer name='rtc' tickpolicy='catchup'/>
    <timer name='pit' tickpolicy='delay'/>
    <timer name='hpet' present='no'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <pm>
    <suspend-to-mem enabled='no'/>
    <suspend-to-disk enabled='no'/>
  </pm>
  <devices>
    <emulator>/usr/libexec/qemu-kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw'/>
      <source file='/bigdata/Centos-7-x86_64.raw'/>
      <target dev='vda' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <target dev='hda' bus='ide'/>
      <readonly/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x7'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <master startport='0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0' multifunction='on'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci2'>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x1'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pci-root'/>
    <controller type='ide' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </controller>
    <interface type='network'>
      <mac address='52:54:00:81:54:74'/>
      <source network='default'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
    <serial type='pty'>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
    </serial>
    <console type='pty'>
      <target type='serial' port='0'/>
    </console>
    <channel type='unix'>
      <target type='virtio' name='org.qemu.guest_agent.0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='tablet' bus='usb'>
      <address type='usb' bus='0' port='1'/>
    </input>
    <input type='mouse' bus='ps2'/>
    <input type='keyboard' bus='ps2'/>
    <graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0'>
      <listen type='address' address='0.0.0.0'/>
    </graphics>
    <video>
      <model type='cirrus' vram='16384' heads='1' primary='yes'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>
    <memballoon model='virtio'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
    </memballoon>
    <rng model='virtio'>
      <backend model='random'>/dev/urandom</backend>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
    </rng>
  </devices>
</domain>

 

修改CPU

[root@localhost qemu]# virsh edit Centos-7-x86_64

 

<domain type='kvm'>
  <name>Centos-7-x86_64</name>
  <uuid>e031c6cf-9b74-407d-b80c-4cf548657d15</uuid>
  <memory unit='KiB'>16777216</memory>
  <currentMemory unit='KiB'>16777216</currentMemory>
  <vcpu placement='auto' current="1">6</vcpu>
  <os>

重启虚拟机

[root@localhost qemu]# virsh shutdown Centos-7-x86_64
域 Centos-7-x86_64 被关闭

[root@localhost qemu]# virsh start Centos-7-x86_64

会发现启动不了,xml文件中生成了

<domain type='kvm'>
  <name>Centos-7-x86_64</name>
  <uuid>e031c6cf-9b74-407d-b80c-4cf548657d15</uuid>
  <memory unit='KiB'>16777216</memory>
  <currentMemory unit='KiB'>16777216</currentMemory>
  <vcpu placement='auto' current='1'>6</vcpu>
  <numatune>
    <memory mode='strict' placement='auto'/>
  </numatune>

虚拟内存相关,strict改为preferred 

成功开启

https://blog.csdn.net/weixin_34260991/article/details/91380527

 

[root@localhost qemu]# virsh setvcpus Centos-7-x86_64 6 --live

 

 

内存

virsh qemu-monitor-command Centos-7-x86_64 --hmp --cmd ballon 16777216

 

网络配置

[root@localhost qemu]# brctl show
bridge name     bridge id               STP enabled     interfaces
virbr0          8000.525400c1bc67       yes             virbr0-nic
                                                        vnet0

默认情况下网桥走的是NAT

现在网络是NAT模式,做成桥接模式

创建桥接网卡,把虚拟机改成桥接网卡

 

下面是本机的ip和网关

编写脚本,运行

#!/bin/bash

brctl addbr br0
brctl addif br0 em1
ip addr del dev em1 192.168.10.88/24
ifconfig br0 192.168.10.88/24 up
route add default gw 192.168.10.1

配置虚拟机

[root@localhost qemu]# virsh edit Centos-7-x86_64

 

    <interface type='bridge'>
      <mac address='52:54:00:81:54:74'/>
      <source bridge='br0'/>
      <model type='virtio'/>

 

进入虚拟机修改网卡文件

cd /etc/sysconfig/network-scripts/

修改ifcfg-etho

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=eth0
#UUID=c69d1864-5103-45af-b4b0-ae72313a35aa
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.10.100
NETMASK=255.255.255.0
GATEWAY=192.168.10.1
DNS1=223.6.6.6

 重启网络

service network restart

 

再克隆两台虚拟机

第一台

[root@localhost qemu]# virt-clone --connect qemu:///system --original Centos-7-x86_64 --name Centos-7-x86_64_2 --file /bigdata/Centos-7-x86_64_2.raw
正在分配 'Centos-7-x86_64_2.raw'                        | 120 GB  01:25

成功克隆 'Centos-7-x86_64_2'。
[root@localhost qemu]# ll
总用量 16
-rw-------  1 root root 4184 6月  13 13:18 Centos-7-x86_64_2.xml
-rw-------  1 root root 4178 6月  13 12:07 Centos-7-x86_64.xml
drwx------. 3 root root   40 5月  13 00:30 networks

[root@localhost qemu]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 -     Centos-7-x86_64                关闭
 -     Centos-7-x86_64_2              关闭

 第二台同上

 

 

安装windows虚拟机

 

如果客户机被占用

ERROR    客户机名称 'window10' 已经在使用。

[root@localhost ~]# virsh shutdown window10
域 window10 被关闭

[root@localhost ~]# virsh undefine window10
域 window10 已经被取消定义

如果关闭不了,可以直接删除 https://jingyan.baidu.com/article/219f4bf7b13e24de452d386f.html

 

我的密码:000000

bigdata虚拟机密码:root

posted on 2020-06-13 13:38  AI数据  阅读(481)  评论(0编辑  收藏  举报

导航