搭建KVM服务器(2)

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/longzhizhui926/article/details/81102214

搭建KVM服务器

虚拟机模板制作

软件包安装及yum配置

• 把刚刚安装好的系统初始化 (由于此处的虚拟机会用于搭建openstack服务,防止软件冲突所以要卸载一些软件)

1、禁用 selinux /etc/selinux/config

SELINUX=disabled

2、卸载防火墙与NetworkManager  先关服务后卸载

]#systemctl stop firewalld

]#systemctl stop NetworkManager

yum remove -y NetworkManager-* firewalld-* python-firewall

如果卸载后发现ip可以重新配置网卡配置文件,并重启network 服务来解决:

[root@room9pc01 ~]# virsh
欢迎使用 virsh,虚拟化的交互式终端。

输入:'help' 来获得命令的帮助信息
       'quit' 退出

virsh # console alia
连接到域 alia
换码符为 ^]
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
ONBOOT=yes
NETBOOT=yes
IPV6INIT=no
BOOTPROTO=dhcp
TYPE=Ethernet

[root@localhost ~]# systemctl restart network

[root@localhost ~]# ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.3.157  netmask 255.255.255.0  broadcast 192.168.3.255
        inet6 fe80::5054:ff:fe3e:8eb7  prefixlen 64  scopeid 0x20<link>
        ether 52:54:00:3e:8e:b7  txqueuelen 1000  (Ethernet)
        RX packets 334  bytes 26399 (25.7 KiB)
        RX errors 0  dropped 8  overruns 0  frame 0
        TX packets 73  bytes 6351 (6.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

3、配置 yum 源

[local_repo]

name=CentOS-$releasever - Base

baseurl="ftp://192.168.1.254/centos7"

enabled=1

gpgcheck=0

软件包安装及yum配置

安装软件 

yum install -y lftp

– 1、将yum 源配置文件中导入公钥验证配置

gpgcheck=1

– 2、导入 gpg key

rpm --import ftp://192.168.1.254/centos7/RPM-GPG-KEY-CentOS-7

– 3、常用系统命令安装 (安装自己常用的命令软件)

yum install -y net-tools vim-enhanced bridge-utils psmisc

网卡及配置文件设置

• 初除网络配置里的个性化信息

– /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE="eth0"

ONBOOT="yes“

IPV6INIT="no"

TYPE="Ethernet"

BOOTPROTO=“dhcp“

– 禁用空路由

– /etc/sysconfig/network

NOZEROCONF="yes"

Console及磁盘分区配置

• 添加 Console 配置及删除磁盘分区里的个性化信息

– /etc/default/grub

GRUB_CMDLINE_LINUX="biosdevname=0 net.ifnames=0

console=ttyS0,115200n8"

GRUB_DISABLE_LINUX_UUID="true"

GRUB_ENABLE_LINUX_LABEL="true“

– 重新生成 grub.cfg

grub2-mkconfig -o /boot/grub2/grub.cfg

/etc/fstab 文件中到 UUID 手工修改成系统设备 (将UUID改为设备路径)

– blkid 查看 uuid 对应的磁盘设备,修改 fstab 文件去除个性化信息

[root@localhost ~]# blkid
/dev/vda1: UUID="cb6377c4-3d3d-44e0-a02f-24e561e32df5" TYPE="xfs" 

[root@localhost ~]# cat /etc/fstab 

#
# /etc/fstab
# Created by anaconda on Tue Jul 17 13:52:58 2018
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/vda1  /  xfs     defaults        0 0

安装分区扩展软件

yum install -y  cloud-utils-growpart

分区扩容(临时验证):

[root@localhost ~]# /usr/bin/growpart  /dev/vda 1
CHANGED: partition=1 start=2048 old: size=20969472 end=20971520 new: size=62912479,end=62914527

[root@localhost ~]# /usr/sbin/xfs_growfs /
meta-data=/dev/vda1              isize=512    agcount=4, agsize=655296 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=2621184, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 2621184 to 7864059
[root@localhost ~]# lsblk
NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda    253:0    0  30G  0 disk 
└─vda1 253:1    0  30G  0 part /

[root@localhost ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        30G  1.2G   29G   4% /
devtmpfs        966M     0  966M   0% /dev
tmpfs           976M     0  976M   0% /dev/shm
tmpfs           976M   17M  960M   2% /run
tmpfs           976M     0  976M   0% /sys/fs/cgroup
tmpfs           196M     0  196M   0% /run/user/0

– 设置第一次开机自动扩容根目录

chmod 755 /etc/rc.local

– 在 rc.local 里加入如下配置(永久配置)

###

/usr/bin/growpart  /dev/vda  1

/usr/sbin/xfs_growfs  /

/usr/bin/sed '/^###/,$d' -i /etc/rc.d/rc.local

– 关闭虚拟机后执行信息清理工作

virt-sysprep  -d  虚拟机名称:node

虚拟设备管理

XML详解

• XML 配置文件

– 保存 node 虚拟机配置文件

[root@room9pc01 qemu]#virsh dumpxml node >demo.xml

– 清除模板配置

virsh undefine node

– xml 模板

– <!-- 是注释的开始

--> 是注释的结尾

– xml 标签必须成对出现

– <keyword> ... ... </keyword>

XML详解

• XML 配置文件

<domain type='kvm' id='4'>

<name>centos7.0</name>

<uuid>8413f30a-c978-4796-a28f-8ba9fe74b759</uuid>

<memory unit='KiB'>2097152</memory>

<currentMemory unit='KiB'>2097152</currentMemory>

– id=4 个性化设置 ,去掉

– uuid 去掉

– memory unit 虚拟机最大使用内存,可以手动调整

– currentmemory 创建虚拟机使用内存

• XML 配置文件

– cpu 设置,可以调整

<vcpu placement='static'>2</vcpu>

– 资源设置,可以删除

<resource> ... ... </resource>

– 系统配置及引导设备,不需要修改

<os>

<boot dev='hd'/>

</os>

– 电源相关配置无需修改

<features> ... ... </features>

• XML 配置文件

– cpu配置,可以修改成使用真机cpu

<cpu ... ... />

<cpu mode='host-passthrough'></cpu>

– 时钟相关配置,可以删除

<clock ... ... </clock>

– 重启,关机,强制关闭对应命令

<on_poweroff>destroy</on_poweroff>

<on_reboot>restart</on_reboot>

<on_crash>destroy</on_crash>

• XML 配置文件

– 内存及硬盘休眠相关设置,可以删除

<pm> ... ... </pm>

– 仿真设备相关配置

<devices> ... ... </devices>

– 其他配置

– 驱动安全标签,可删除

<seclabel> ... ... </seclabel>

设备管理

XML详解

• 仿真设备配置

– 总线地址,别名配置,都可以删除

<address ....

<alias ...

– 硬盘配置,需要修改

<emulator>/usr/libexec/qemu-kvm</emulator>

<disk ... ... </disk>

– usb 相关设备配置,可以删除

<controller type='usb'

• 仿真设备配置

– type='pci' pci总线设备,可删除

– type='virtio-serial' 串口设备需要保留串口终端

– type='network' 网络配置需要修改

– type='pty' 串口终端,需要保留

– type='unix' 虚拟机通讯控制接口

– type='spicevmc' 图形图像相关配置可以删除

– type='tablet' 数位板,可以删除

• 仿真设备配置

– type='mouse' 鼠标,保留

– type='keyboard' 键盘保留

– graphics、video 图形图像显卡相关配置,可以删除

– sound 声卡相关配置,可以删除

– redirdev 设备重定向,可以删除

– memballoon 内存气泡,可以动态调整内存

创建访问虚拟机

快速创建虚拟机

• 如何快速创建虚拟机

– 1、 xml 文件配置

– 把我们的 xml 模板文件进行复制

– 修改名称及磁盘文件

– 2 img 文件创建

– 以我们刚刚装系统的模板为后端文件创建虚拟机

qemu-img create –b node.qcow2 –f qcow2 node1.img

– 完成虚拟机注册及启劢虚拟机

– virsh define node1.xml

– virst start node1

– virsh console node

配置虚拟机系统有奇招

• 使用 guestmount 工具

– 支持离线挂载 raw、qcow2 格式虚拟机磁盘

– 可以在虚拟机关机的情况下,直接修改磁盘中的文档

– 方便对虚拟机定制、修复、脚本维护

!!! 需要注意 SELinux 机制的影响如何挂载虚拟盘

• 基本用法

guestmount -a 虚拟机磁盘路径 -i /挂载点(一定要是空文件夹)

[root@kvmsvr ~]# mkdir /mnt/kdisk

[root@kvmsvr ~]# guestmount -a node1.qcow2 -i /mnt/kdisk

[root@kvmsvr ~]# ls /mnt/kdisk

bin   dev  home  lib64  mnt  proc  run   srv  tmp  var
boot  etc  lib   media  opt  root  sbin  sys  usr

猜你喜欢

转载自blog.csdn.net/longzhizhui926/article/details/81102214
今日推荐