admin管理员组

文章数量:1597400

用命令行安装KVM 并且用命令行来安装centos7

先要检查宿主机情况

df -h;free -m

是否开通虚拟化

[root@centos7 etc]# lsmod  | grep kvm

kvm_intel             170181  0

kvm                   554609  1 kvm_intel

irqbypass              13503  1 kvm

如果显示,证明开通了虚拟化,而且加载了虚拟化模块

--------------------------------------

配置yum源

yum install epel-rpm-macros.noarch -y

安装kvm的相关包

yum install -y  virt-*  libvirt  bridge-utils qemu-img -y

配置桥接网卡

[root@centos7 network-scripts]# vi ifcfg-br0

------------------------------------------------------------

TYPE=Bridge  #这里要修改

BOOTPROTO=static

NAME=br0     #这里要修改

DEVICE=br0   #这里要修改

ONBOOT=yes

IPADDR=192.168.25.15   #这里要修改

NETMASK=255.255.255.0   #这里要修改

GAMEWAY=192.168.25.2   #这里要修改

DNS1=114.114.114.114   #这里要修改
[root@centos7 network-scripts]# vi ifcfg-ens33

---------------------------------------------------------

TYPE=Ethernet

BOOTPROTO=static

NAME=eth0

DEVICE=ens33

ONBOOT=yes

PEERDNS=yes

PEERROUTES=yes

BRIDGE=br0      #这里要修改

IPADDR=192.168.25.20     #这里要修改 这个ip无论配置成什么都是失效的

NETMASK=255.255.255.0

GATEWAY=192.168.25.2

DNS1=114.114.114.11
ifconfig

---------------------------------------------------

br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        inet 192.168.25.15  netmask 255.255.255.0  broadcast 192.168.25.255

        inet6 fe80::20c:29ff:fe06:bb5e  prefixlen 64  scopeid 0x20<link>

        ether 00:0c:29:06:bb:5e  txqueuelen 1000  (Ethernet)

        RX packets 198  bytes 16280 (15.8 KiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 143  bytes 20653 (20.1 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        ether 00:0c:29:06:bb:5e  txqueuelen 1000  (Ethernet)

        RX packets 5367912  bytes 6142275630 (5.7 GiB)

        RX errors 0  dropped 2  overruns 0  frame 0

        TX packets 2412876  bytes 152357566 (145.2 MiB)

        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 1  (Local Loopback)

        RX packets 76  bytes 6204 (6.0 KiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 76  bytes 6204 (6.0 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:42:e5:c5  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

开启服务

systemctl start libvirtd;

ps -ef | grep libvirtd;

查看所有的网桥

brctl show
[root@centos7 network-scripts]# brctl show

bridge name     bridge id               STP enabled     interfaces

br0             8000.000c2906bb5e       no              ens33        ##这里指向网卡ens33  这个是桥接网卡

virbr0          8000.52540042e5c5       yes             virbr0-nic   ##这里指向virbr0  这个是net网卡

将镜像传到服务器中,传完后,执行下面的命令创建centos7虚拟机

/virt-install --name=centos7 --memory=512,maxmemory=1024 --vcpus=1,maxvcpus=2 --os-type=linux --os-variant=rhel7 --location=/usr/local/src/CentOS-7.0-1406-x86_64-DVD.iso --disk path=/usr/local/kvm_data/centos7.img,size=10 --bridge=br0 --graphics=none --console=pty,target_type=serial --extra-args=console=tty0 console=ttyS0


选项含义:

执行完成后就开始滚动,直到出现这个界面

这里是总界面,括号是x的就是已经ok的,不需要修改,括号是!的需要手动修改

这里按下1并敲回车

时区选择:

这里按下6 选择亚洲时区:

 这里选择上海时区

这里没有加载完,需要按下回车

 按64 选择上海时区

设置完时区就会显示为x

完成后,按4 安装系统盘

这里确认下磁盘的信息,按c继续即可

按完c后出现下面的界面,这里显示使用全部空间,如果有问题的话,直接按上面的数字即可我这里没问题,按c继续

选择分区类型,这里默认是LVM,但是我们不需要lvm,所以选3 标准分区

选择3后,即可变为标准分区,没问题了继续c

刚才的4也变成了x,下面设置6 root密码,按6回车进入选项

点击6后,会直接出现输入密码的位置,输入两次,一次密码一次确认,我这里输入了123456,回车,123456 回车,因为密码为弱密码,会提示你的密码不安全,是否无论如何都要使用这个密码,输入yes即可,小写的yes!!

这样就全部都是x了,下面按下b,进行安装系统

到这里可以按回车键进行重启

这就安装完了虚拟机的全部过程

下面介绍kvm相关命令;

 virsh list

 Id    Name                           State

----------------------------------------------------

 1     centos7                        running

但这个命令只能查看开机的虚拟机,如果关机的也想看的话,需要添加一个参数 --all

virsh list  --all

 Id    Name                           State

----------------------------------------------------

 1     centos7                        running

 2     centos6                        stop

查看虚拟机配置文件:

[root@localhost ~]# ls /etc/libvirt/qemu/
networks  study01.xml
[root@localhost ~]# ls /etc/libvirt/qemu/networks/
autostart  default.xml
[root@localhost ~]# ls /etc/libvirt/qemu/networks/autostart/
default.xml

[root@localhost ~]# virsh console centos7  # 进入指定的虚拟机,进入的时候还需要按一下回车
[root@localhost ~]# virsh start centos7  # 启动虚拟机
[root@localhost ~]# virsh shutdown centos7  # 关闭虚拟机
[root@localhost ~]# virsh destroy centos7  # 强制停止虚拟机
[root@localhost ~]# virsh undefine centos7  # 彻底销毁虚拟机,会删除虚拟机配置文件,但不会删除虚拟磁盘
[root@localhost ~]# virsh autostart centos7  # 设置宿主机开机时该虚拟机也开机
[root@localhost ~]# virsh autostart --disable centos7  # 解除开机启动
[root@localhost ~]# virsh suspend centos7 # 挂起虚拟机
[root@localhost ~]# virsh resume centos7 # 恢复挂起的虚拟机                                   

virsh console centos7 就可以进入到虚拟机界面,如果想从中跳回到宿主机,需要按ctrl+】 右中括号键

显示虚拟机信息

[root@centos7 ~]# virsh dominfo centos7

Id:             1

Name:           centos7

UUID:           bc8d5c17-0c36-474a-8cb5-6523e3e1826a

OS Type:        hvm

State:          running

CPU(s):         1

CPU time:       61.1s

Max memory:     1048576 KiB

Used memory:    524288 KiB

Persistent:     yes

Autostart:      disable

Managed save:   no

Security model: none

Security DOI:   0

查看cpu相关负载

virsh cpu-stats centos7  查看cpu相关负载

CPU0:

        cpu_time             2.224636607 seconds

        vcpu_time            1.781281016 seconds

CPU1:

        cpu_time             5.628024674 seconds

        vcpu_time            4.149800147 seconds

CPU2:

        cpu_time            10.385803462 seconds

        vcpu_time            9.926849176 seconds

CPU3:

        cpu_time             4.416297342 seconds

        vcpu_time            3.933643540 seconds

Total:

        cpu_time            22.654762085 seconds

        user_time            0.560000000 seconds

        system_time          6.000000000 seconds

查看版本

virsh version


Compiled against library: libvirt 3.9.0

Using library: libvirt 3.9.0

Using API: QEMU 3.9.0

Running hypervisor: QEMU 1.5.3

查看虚拟内存和cpu的使用情况,使用起来和物理机的top命令类似

virt-top  

查看虚拟机磁盘容量

[root@centos7 ~]# virt-df centos7

Filesystem                           1K-blocks       Used  Available  Use%

centos7:/dev/sda1                       508588      65484     443104   13%

centos7:/dev/sda3                      8913920     835188    8078732   10%

查看centos7虚拟机中的/root目录下的内容

virt-ls -d centos7 /root  

硬盘扩容

1. Create a 10-GB non-sparse file:

# dd if=/dev/zero of=/vm-images/vm1-add.img bs=1M count=10240

2. Shutdown the VM:

 # virsh shutdown vm1

3. Add an extra entry for ‘disk’ in the VM's XML file in /etc/libvirt/qemu. You can look copy & paste

the entry for your mail storage device and just change the target and address tags. For example:

 # virsh edit vm1

 <disk type='file' device='disk'>

 <driver name='qemu' type='raw' cache='none' io='threads'/>

 <source file='/vm-images/vm1.img'/>

 <target dev='vda' bus='virtio'/>

 <address type='pci' domain='0x0000' bus='0x00' slot='0x04'

function='0x0'/>

 </disk>

 Add:

 <disk type='file' device='disk'>

 <driver name='qemu' type='raw' cache='none' io='threads'/>

 <source file='/vm-images/vm1-add.img'/>

 <target dev='vdb' bus='virtio'/>

 <address type='pci' domain='0x0000' bus='0x00' slot='0x06'

function='0x0'/>

 </disk>

 # 这里建议使用上面的添加硬盘的方式添加

删除虚拟机

第一步,停掉虚拟机

virsh shutdown kvm-1

第二步

virsh destroy kvm-1

第三步

virsh undefine kvm-1

第四部

 rm /dev/vg_shkvm1/kvm-1  # 不建议删除硬盘

参考文档:https://blog.csdn/wh211212/article/details/7490839

本文标签: 虚拟机kvm