kvm創建openstack鏡像文件


virsh常用維護命令:https://www.cnblogs.com/cyleon/p/9816989.html

openstack使用2——制作centos7鏡像:https://blog.csdn.net/kwame211/article/details/79759931

kvm虛擬化環境安裝:https://blog.51cto.com/koumm/1288795

centos創建kvm虛擬機:https://www.cnblogs.com/jottings/p/11831413.html

KVM虛擬化:https://www.cnblogs.com/xueheng36/p/10990521.html

kvm創建虛擬機報錯:https://blog.csdn.net/weixin_30879169/article/details/95735499

無桌面搭建kvm虛擬化:https://www.jianshu.com/p/80f759885d3a/

二、創建qcow2鏡像

上傳centos7官方鏡像:CentOS-7-x86_64-DVD-1511.iso

1、宿主機虛擬化環境配置

1.首先要開啟宿主機的虛擬化:
執行 grep -E "(vmx|svm)" /proc/cpuinfo ,可以看CPU有沒有開啟虛擬化
vmware虛擬機的話,在虛擬機設置里,點擊“處理器”,勾選 "虛擬化 intel VT-x/EPT 或 AMD-V/RVI(V)"

[root@controller ~]# grep -E "(vmx|svm)" /proc/cpuinfo
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch arat tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid mpx rdseed adx smap clflushopt xsaveopt xsavec xsaves
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch arat tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid mpx rdseed adx smap clflushopt xsaveopt xsavec xsaves

隨后需要關閉防火牆和selinux、配置yum環境,步驟略。

2.安裝kvm軟件包

yum -y install kvm python-virtinst libvirt tunctl bridge-utils virt-manager qemu-kvm-tools virt-viewer virt-v2v --skip-broken
# 補充安裝kvm虛擬化的一些管理包
yum -y install libguestfs-tools
yum install virt-install.noarch -y

3.檢查虛擬化環境

# 檢查libvirtd服務
[root@controller ~]# systemctl start libvirtd
[root@controller ~]# systemctl status libvirtd
● libvirtd.service - Virtualization daemon
   Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2021-11-18 10:34:54 EST; 1s ago
     Docs: man:libvirtd(8)
           http://libvirt.org
 Main PID: 3935 (libvirtd)
   CGroup: /system.slice/libvirtd.service
           └─3935 /usr/sbin/libvirtd

Nov 18 10:34:54 controller systemd[1]: Starting Virtualization daemon...
Nov 18 10:34:54 controller libvirtd[3935]: libvirt version: 1.2.17, package: 13.el7_2.5 (CentOS BuildSystem <http://bugs.cento...os.org)
Nov 18 10:34:54 controller libvirtd[3935]: Module /usr/lib64/libvirt/connection-driver/libvirt_driver_lxc.so not accessible
Nov 18 10:34:54 controller systemd[1]: Started Virtualization daemon.
Hint: Some lines were ellipsized, use -l to show in full.

# 檢查kvm模塊支持
[root@controller ~]# lsmod | grep kvm
kvm_intel             162153  0 
kvm                   525259  1 kvm_intel

# 檢查虛擬工具版本
[root@controller ~]# virsh --version
1.2.17
[root@controller network-scripts]# virt-install --version
1.2.1

2、kvm虛擬機創建

1.宿主機創建系統盤:

[root@controller ~]# qemu-img create -f qcow2 centos7.qcow2 16G
Formatting 'centos7.qcow2', fmt=qcow2 size=17179869184 encryption=off cluster_size=65536 lazy_refcounts=off refcount_bits=16
[root@controller ~]# du -sh *
4.0K	anaconda-ks.cfg
196K	centos7.qcow2
  1. 虛擬網絡創建
# 首先判斷是否有默認虛擬網絡
[root@controller network-scripts]# virsh net-list --all
 Name                 State      Autostart     Persistent
----------------------------------------------------------

# 在沒有默認虛擬網情況下需要啟動
# 首先判斷/usr/share/libvirt/networks/default.xml是否存在,不存在如下操作:
[root@controller libvirt]# mkdir -p /usr/share/libvirt/networks
[root@controller libvirt]# cd /usr/share/libvirt/networks/
[root@controller networks]# touch default.xml

# default.xml文件內容:(根據openstack內網信息編寫)
[root@controller networks]# vi default.xml 
<network>
  <name>default</name>
  <bridge name="virbr0" />
  <forward/>
  <ip address="10.10.1.0" netmask="255.255.255.0">
    <dhcp>
      <range start="10.10.1.101" end="10.10.1.240" />
    </dhcp>
  </ip>
</network>

# 重新加載網絡並激活xml配置
[root@controller networks]# virsh net-define /usr/share/libvirt/networks/default.xml 
Network default defined from /usr/share/libvirt/networks/default.xml

# 激活網絡
[root@controller networks]# virsh net-autostart default
Network default marked as autostarted

[root@controller networks]# virsh net-start default
Network default started

[root@controller networks]# virsh net-list --all
 Name                 State      Autostart     Persistent
----------------------------------------------------------
 default              active     yes           yes

# 檢查宿主機網卡
[root@controller networks]# ifconfig
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
eno3554960: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 10.10.1.0  netmask 255.255.255.0  broadcast 10.10.1.255
        ether 52:54:00:68:28:4c  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網卡

3、手動完成虛擬網卡配置

# 創建一個新網卡
[root@controller networks]# cd /etc/sysconfig/network-scripts/

# 修改virbr0網卡內容
[root@controller network-scripts]# vi ifcfg-virbr0 
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
NAME=virbr0
DEVICE=virbr0
ONBOOT=yes
NETMASK=255.255.255.0
UUID=c3295183-7dca-41a8-a60d-abf1ab7be8ed

4.創建kvm虛擬機

[root@controller opt]# pwd
/opt
[root@controller opt]# ls
CentOS-7-x86_64-DVD-1511.iso centos7.qcow2 

# 執行創建kvm操作
virt-install --virt-type kvm \
--name centos7 --ram 1024 \
--cdrom=/opt/CentOS-7-x86_64-DVD-1511.iso \
--disk path=/opt/centos7.qcow2 \
--network network=default \
--graphics vnc,listen=0.0.0.0 \
--noautoconsole

5.vnc view 連接虛擬機

# 首先下載vnc view軟件

# 查看qemu-kvm端口
[root@controller opt]# netstat -ntpl | grep qemu-kvm
tcp        0      0 0.0.0.0:5900            0.0.0.0:*               LISTEN      9102/qemu-kvm 

# 訪問192.168.16.10:5900,完成虛擬機安裝,注意勾選上development-tools(gcc)

# 安裝重啟后,虛擬機往往是關機狀態
# 執行如下命令查看狀態
[root@controller ~]# virsh list --all

# 執行如下命令啟動kvm虛擬機
[root@controller ~]# virsh start centos7

# 啟動后查看端口
[root@controller opt]# netstat -ntpl | grep qemu-kvm
tcp        0      0 0.0.0.0:5900            0.0.0.0:*               LISTEN      9102/qemu-kvm

# 即可再次用vnc訪問kvm虛擬機
[root@controller ~]# systemctl restart sshd
[root@controller ~]# systemctl enable sshd

三、上傳openstack使用

1、鏡像上傳glance

# 在控制節點,通過glance命令,將qcow2鏡像上傳到平台
[root@controller images]# source /etc/keystone/admin-openrc.sh
[root@controller images]# glance image-create --name "centos7" --disk-format qcow2 --container-format bare --progress < /opt/centos7.qcow2
[=============================>] 100%
+------------------+--------------------------------------+
| Property         | Value                                |
+------------------+--------------------------------------+
| checksum         | 8fedcc705e0f107be3376ebf57f304cd     |
| container_format | bare                                 |
| created_at       | 2021-12-06T22:06:30Z                 |
| disk_format      | qcow2                                |
| id               | 3023637e-045b-4833-b953-476d72f2f21b |
| min_disk         | 0                                    |
| min_ram          | 0                                    |
| name             | centos7                              |
| owner            | 386dbfcf77e444c7872e4e23d5829fcc     |
| protected        | False                                |
| size             | 1141178368                           |
| status           | active                               |
| tags             | []                                   |
| updated_at       | 2021-12-06T22:06:33Z                 |
| virtual_size     | None                                 |
| visibility       | private                              |
+------------------+--------------------------------------+

基於鏡像創建新的雲主機。
注意flavor類型:硬盤要大於19G。
注意檢查dashboard上:系統——系統信息里面所有服務是否啟動。

# 在compute節點上執行的服務恢復命令——如下參考
systemctl restart openstack-cinder-volume

systemctl restart openstack-nova-compute

service neutron-metadata-agent restart

service neutron-openvswitch-agent restart

2、控制台配置雲主機

http://192.168.16.10/dashboard 登錄openstack的dashboard。
項目——計算——雲主機,進入雲主機管理頁面,點擊 雲主機名稱 ,點擊 控制台,點擊只顯示控制台進入控制台管理。

1.修改網卡信息

# 將網卡信息修改為平台上顯示的ip地址
vi /etc/sysconfig/network-scripts/ifcfg-eth0

# 主要修改和增加如下內容
BOOTPROTO=static
ONBOOT=yes
IPADDR=10.10.1.124
NETMASK=255.255.255.0
GATEWAY=10.10.1.2
DNS=8.8.8.8

# 重啟網絡
systemctl restart network

2.網絡配置

# 關閉防火牆
systemctl stop firewalld
systemctl disable firewalld

# 關閉網絡管理
systemctl disable NetworkManager

# 關閉selinux,修改文件為disabled
sed  -i 's/SELINUX=enforcing/SELINUX=disabled/g'  /etc/selinux/config

# 修改dns配置文件
vi /etc/resolv.conf
# 其他注釋,添加如下內容:
nameserver 8.8.8.8

# 修改生效
setenforce 0

# 網絡測試
ping www.baidu.com

3.yum源更新

# 將官方的yum源備份到一個新目錄:
mkdir /etc/yum.repos.d/repo.bak/
mv /etc/yum.repos.d/*.repo repo.bak/

# 更新下載阿里源
curl -o /etc/yum.repos.d/CentOS-Base.repo  http://mirrors.aliyun.com/repo/Centos-7.repo

# 清理yum
yum clean all
yum makecache

# 更新yum信息
yum update -y


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM