自定義虛擬機安裝(KVM)
[真機操作]
一、安裝虛擬化平臺
安裝必備軟件:
qemu-kvm //爲 kvm 提供底層仿真支持
libvirt-daemon //守護進程,管理虛擬機
libvirt-client //用戶端軟件,提供客戶端管理命令
libvirt-daemon-driver-qemu //libvirtd 連接 qemu 的驅動
可選功能:
virt-install //系統安裝工具
virt-manager //圖形管理工具
virt-v2v //虛擬機遷移工具
virt-p2v //物理機遷移工具
]#yum install -y qemu-kvm libvirt-daemon libvirt-client libvirt-daemon-driver-qemu
]#systemctl start libvirtd
二、創建一個虛擬網絡vbr
]#cd /etc/libvirt/qemu/networks/
]#vim vbr.xml
<network>
<name>vbr</name>
<bridge name="vbr"/>
<forward mode="nat"/>
<ip address="192.168.1.254" netmask="255.255.255.0">
<dhcp>
<range start="192.168.1.100" end="192.168.1.200"/>
</dhcp>
</ip>
</network>
]#virsh
virsh# net-define vbr.xml //定義虛擬網卡vbr
virsh# net-start vbr //啓動網卡vbr
virsh# net-autostart vbr //設置開機自起
virsh# net-list --all //查看全部虛擬網卡
三、配置轉發DNS
]#yum -y install bind-chroot
修改配置文件/etc/named.conf
listen-on port 53 { 192.168.1.10; };
//listen-on-v6 port 53 { ::1; };
allow-query { any; };
forwarders { 202.106.196.115; };
dnssec-enable no;
dnssec-validation no;
四、配置時間服務
]#yum -y install chrony
Server:配置/etc/chrony.conf
server ntp1.aliyun.com iburst
bindacqaddress 0.0.0.0
allow 0/0
Client:配置/etc/chrony.conf
server server.ip.xx.xx iburst
檢查狀態
]#chrony sources -v
五、配置ftp服務
1、安裝
]#yum -y install vsftp
2、修改配置文件/etc/vsftpd/vsftpd.conf
listen=YES //開啓ipv4監聽
listen_ipv6=NO //關閉ipv6監聽
3、重啓服務
systemctl start vsftpd
systemctl enable vsftpd
六、快速搭建網絡yum源
1、在ftp跟目錄創建目錄CentOS7
]#mkdir /var/ftp/CentOS7
2、把CentOS7光盤掛載到步驟1上創建的目錄上
mount –t iso9660 –o loop,ro /ISO/CentOS7-1708.iso /var/ftp/CentOS7
3、配置/etc/yum.repos.d/xxx.repo
[Centos_repo]
name= CentOS7
baseurl=ftp://192.168.1.254/CentOS7
enabled=1
gpgcheck=0
4、驗證yum源倉庫
]#yum repolist
七、virt-manager安裝虛擬機
1、創建一個新的磁盤鏡像文件
格式:qemu-img create -f 格式 磁盤路徑 大小
]#/var/lib/libvirt/images
]#qemu-img create -f qcow2 node.qcow2 16G
2、在真機終端輸入virt-manager,彈出下圖,選擇新建虛擬機;
3、選擇網路安裝源
4、網絡選擇自定義的vbr
5、軟件選擇minimal,關閉KDUMP
6、手工分區
7、使用標準分區格式,只分一個根分區
8、選取一個根分區,開啓安裝系統
[虛擬機操作]
八、虛擬機模板製作
初始化新安裝的系統
1、配置yum源
[local_repo]
name=CentOS7
baseurl="ftp://192.168.1.254/centos7"
enabled=1
gpgcheck=0
2、禁用 selinux /etc/selinux/config
SELINUX=disabled
3、卸載防火牆與NetworkManager
]#yum remove -y firewalld-* python-firewall
]#yum remove NetworkManager-*
注:卸載NetworkManager後可能網絡服務無法啓動,先將防火牆服務卸載,修改網卡配置文件後重新啓動網絡服務。
4、安裝軟件
]#yum install -y lftp
5、yum源導入公鑰驗證配置
rpm --import ftp://192.168.1.254/CentOS7/RPM-GPG-KEY-CentOS-7
6、將yum源中的gpgchek=0修改爲gpgchek=1
7、常用系統命令安裝
]#yum install -y net-tools vim-enhanced bridge-utils psmisc
8、刪除網絡配置裏的個性化信息
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
ONBOOT="yes”
IPV6INIT="no"
TYPE="Ethernet"
BOOTPROTO=”dhcp"
9、禁用路由
/etc/sysconfig/network
NOZEROCONF="yes"
10、添加 Console 配置及初除磁盤分區裏的個性化信息
1) 修改/etc/default/grub文件
GRUB_CMDLINE_LINUX="biosdevname=0 net.ifnames=0 console=ttyS0,115200n8"
GRUB_DISABLE_LINUX_UUID="true"
GRUB_ENABLE_LINUX_LABEL="true”
2) 重新生成grub.cfg
grub2-mkconfig -o /boot/grub2/grub.cfg
3) /etc/fstab 文件中到 UUID 手工修改成系統設備;blkid 查看 uuid 對應的磁盤設備,修改 fstab 文件
11、安裝分區擴展軟件
]#yum install -y cloud-utils-growpart
1) 設置第一次開機自動擴容根目錄
chmod 755 /etc/rc.local
2) 在 rc.local 里加入如下配置
/usr/bin/growpart /dev/vda 1 |
---|
/usr/sbin/xfs_growfs / |
---|
/usr/bin/sed '/^###/,$d' -i /etc/rc.d/rc.local |
---|
注:方框中步驟可以在此模板做完成後,在新創建的虛擬機中手動敲以上命令,也可封裝進模板,需要注意的是確保系統是英文環境,如果是中文環境可以利用LANG=en_US.UTF-8更改過來。此實驗採取手動實現擴容根目錄。
[真機操作]
12、關閉虛擬機後執行信息清理工作
]#virt-sysprep -d node
注:真機環境可能沒有virt-sysprep命令提供,可以利用yum provieds virt-sysprep查詢此命令由哪個軟件包提供,並安裝上。
13、取消node模板機的定義
]#virsh undefine node
九、快速創建虛擬機
1、創建前端盤
]#cd /var/lib/libvirt/images/
]#qemu-img create -f qcow2 -b node.qcow2 node1.img 30G
2、創建 xml 配置文件(事先已將demo.xml模板文件放到此目錄)
]#sed 's,demo,node1,' demo.xml >/etc/libvirt/qemu/node1.xml
3、定義虛擬機
]#virsh define /etc/libvirt/qemu/node1.xml
]#virsh start node1
]#virsh console node1
十、再用模板創建虛擬機
要求:
虛擬機1
8G 內存、2塊網卡
第一塊網卡連接虛擬交換機 vbr
第二塊網卡連接虛擬交換機 private1
設置靜態 IP,默認網關 192.168.1.254
2塊硬盤
其中 / 的 vda1 要求 50G
vdb 20G
1、創建前端盤
]#cd /var/lib/libvirt/images/
]#qemu-img create -f qcow2 -b node.qcow2 node2.img 50G
]#qemu-img create -f qcow2 disk_node2.img 20G
2、創建 xml 配置文件
]#sed 's,demo,node2,' demo.xml >/etc/libvirt/qemu/node2.xml
3、定義虛擬機
]#virsh define /etc/libvirt/qemu/node2.xml
]#virsh edit /etc/libvirt/qemu/node2.xml
更改內存:
<memory unit='KiB'>8192000</memory>
<currentMemory unit='KiB'>8192000</currentMemory>
添加網卡:
<interface type='bridge'>
<source bridge='private1'/>
<model type='virtio'/>
</interface>
添加磁盤:
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/var/lib/libvirt/images/disk_node2.img'/>
<target dev='vdb' bus='virtio'/>
</disk>
4、啓動虛擬機
]#virsh start node2
]#virsh console node2
5、更改虛擬機網卡
]#cd /etc/sysconfig/network-scripts
]#cp ifcfg-eth0 ifcfg-eth1
]#vim ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
IPV6INIT=no
BOOTPROTO=static
TYPE=Ethernet
IPADDR=192.168.1.100
PREFIX=24
GATEWAY=192.168.1.254
]#vim ifcfg-eth1
DEVICE=eth1
ONBOOT=yes
IPV6INIT=no
BOOTPROTO=static
TYPE=Ethernet
IPADDR=192.168.4.100
PREFIX=24
GATEWAY=192.168.4.254
]#systemctl restart network