Openstack之九:openstack制作鏡像


一、制作鏡像介紹

通過KVM安裝虛Centos 和Windwos 2008 R2_x86_64操作系統步驟並將磁盤文件作為鏡像上傳到openstack glance,作為批量創建虛擬機的鏡像文件,其中windowsn 2008安裝virtio 半虛擬化驅動,以實現網絡IO和磁盤IO的半虛擬化提升速度,Centos 7默認即支持半虛擬化,不需要安裝驅動,Virtio最初由澳大利亞的一個天才級程序員Rusty Russell編寫,是一個在hypervisor之上的抽象API接口,讓客戶機知道自己運行在虛擬化環境中,從而與hypervisor根據 virtio 標准協作,從而在客戶機中達到更好的性能(特別是I/O性能),目前,有不少虛擬機都采用了virtio半虛擬化驅動來提高性能。具體過程如下:

二、網絡環境准備:

在一台linux服務器上修改網卡配置,做一個br0的網卡橋接,但是不更改也不影響安裝虛擬機與制作模板,但是虛擬機要連接外網需要通過橋接或者nat,當虛擬機數量較多的時候nat就會出現瓶頸,所以使用橋接比較穩定:

網卡綁定案例,先做綁定,然后再把綁定后的網卡配置成橋接:

#因鏡像虛擬機需要連接外網安裝rpm包,需要網絡橋接,因此將bondX橋接到brX:

[root@linux-image ~]# hostname
linux-image.exmaple.com
[root@linux-host5 ~]# yum install bridge-utils –y #安裝網卡橋接工具

單網卡綁定方法:

eth0的配置:

# cd /etc/sysconfig/network-scripts/
# cp  ifcfg-eth0  ifcfg-br0 
# vim ifcfg-eth0
BOOTPROTO=static 
DEVICE=eth0
ONBOOT=yes
BRIDGE=br0 #刪除其他的IP/MAC/網關信息,增加一行橋接的配置
NM_CONTROLLED=no #不使用NetworkManager管理服務

br0的配置:

# vim ifcfg-br0  #編輯橋接網卡配置
TYPE=Bridge  #類型為橋接
BOOTPROTO=static  #靜態獲取IP
IPV4_FAILURE_FATAL=no
NAME=br0  #網卡名稱
DEVICE=br0 #設備名稱
ONBOOT=yes
IPADDR=192.168.10.128
NETMASK=255.255.255.0
GATEWAY=192.168.10.2
DNS1=192.168.10.2

雙網卡綁定方法:

1.1:第一組配置,將eth1和eth5綁定為bond0:

1.1.1:先創建bond0配置那文件步驟及內容如下:

[root@linux-host1 ~]# cd /etc/sysconfig/network-scripts/
[root@linux-host1 network-scripts]# cp ifcfg-eth0   ifcfg-bond0
[root@linux-host1 network-scripts]# cat ifcfg-bond0 #內容如下:
BOOTPROTO=static
NAME=bond0
DEVICE=bond0
ONBOOT=yes
BONDING_MASTER=yes
BONDING_OPTS="mode=1 miimon=100" #指定綁定類型為1及鏈路狀態監測間隔時間
BRIDGE=br0 #橋接到br0

1.1.2:配置br0:

TYPE=Bridge
BOOTPROTO=static
IPV4_FAILURE_FATAL=no
NAME=br0
DEVICE=br0
ONBOOT=yes
IPADDR=X.X.X.X
NETMASK=255.255.255.0
GATEWAY=X.X.X.X

1.1.3:eth1配置:

[root@linux-host1 network-scripts]# vim ifcfg-eth1
BOOTPROTO=static
NAME=eth1
DEVICE=eth1
ONBOOT=yes
NM_CONTROLLED=no
MASTER=bond0
USERCTL=no
SLAVE=yes

1.1.4:eth5的配置:

[root@linux-host1 network-scripts]# cp ifcfg-eth1  ifcfg-eth5
[root@linux-host1 network-scripts]# vim ifcfg-eth5
BOOTPROTO=static
NAME=eth5
DEVICE=eth5
ONBOOT=yes
NM_CONTROLLED=no
MASTER=bond0
USERCTL=no
SLAVE=yes

1.1.5:重啟網絡服務:

[root@linux-host1 network-scripts]# systemctl  restart network

三、Windows Server 2008 R2鏡像制作:

windows鏡像下載官網:https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/

 

1:安裝基礎環境:

[root@linux-host1 ~]#  yum install -y qemu-kvm qemu-kvm-tools libvirt virt-manager  virt-install  

2、創建系統磁盤:

[root@linux-image ~]# qemu-img  create -f qcow2  /os/images/Windows-2008-r2-x86_64.qcow2  100G

3、使用命令安裝windows 2008:

# virt-install --virt-type kvm  --name  Win_2008_r2-x86_64 --ram 3072  --vcpus=2 --os-type=windows \
--cdrom=/usr/local/src/windows_server_2008_r2.iso --disk path=/var/lib/libvirt/images/Windows-2008_r2-x86_64.qcow2,format=qcow2,bus=virtio \
--disk path=/usr/local/src/virtio-win-0.1.141_amd64.vfd,device=floppy  --network bridge=br0,model=virtio \
--graphics  vnc,listen=0.0.0.0 --noautoconsole

4、用命令進行安裝操作

# virt-manager

5、開始加載中:

6、安裝界面:

 

 7、開始安裝:

8、選擇安裝版本:

 9、創建分區:

 10、安裝過程中:

11、安裝完成:

#首次登陸提示必須更改密碼:

12、新添加網卡:

#建議先把虛擬機關機再添加網卡

13、驗證網絡通信:

 14、開啟遠程連接:

15、關閉防火牆:

16、重新封裝虛擬機:

# 系統自帶封裝工具:

開始封裝:

將磁盤鏡像scp至openstack控制端:

# openstack image create "windows_server_2008_r2"   --file  Windows-2008-r2-linux36.qcow2   --disk-format qcow2 --container-format bare   --public

在openstack的web界面進行創建鏡像,並在openstack安全組打開RDP規則,就可以遠程連接windows界面。

四、基於手動安裝Centos 7.x 鏡像制作:

#做鏡像就是在宿主機最小化安裝系統並配置優化,做完配置之后將虛擬機關機,然后將虛擬機磁盤文件上傳至glance即可啟動虛擬機。

也可以在centos官網下載制作好的鏡像:http://cloud.centos.org/centos/7/images/

1:安裝基礎環境:

[root@linux-host1 ~]#  yum install -y qemu-kvm qemu-kvm-tools libvirt virt-manager  virt-install

2、創建磁盤:

類型為qcow2,跟使用量動態增長,也可以是raw格式,openstack 支持很多類型的磁盤格式。

[root@linux-image ~]# qemu-img create -f qcow2  /var/lib/libvirt/images/CentOS-7-x86_64.qcow2  10G 

3、驗證磁盤文件:

[root@linux-image ~]# file /var/lib/libvirt/images/CentOS-7-x86_64.qcow2
/var/lib/libvirt/images/CentOS-7-x86_64.qcow2: QEMU QCOW Image (v3), 10737418240 bytes
[root@linux-image ~]# ll -h /var/lib/libvirt/images/CentOS-7-x86_64.qcow2
-rw-r--r-- 1 root root 193K Sep 28 09:21 /var/lib/libvirt/images/CentOS-7-x86_64.qcow2

4、下載ISO鏡像並安裝:

[root@linux-image ~]# virt-install  --virt-type kvm --name  CentOS7-x86_64   --ram 1024 --cdrom=/opt/CentOS-7-x86_64-Minimal-1511.iso   \
--disk path=/var/lib/libvirt/images/CentOS7-x86_64.qcow2 \ --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole

5、驗證端口:

 

6、使用VNC 客戶端連接虛擬機端口:

 

7、連接后狀態如下:

8、傳遞內核參數重命名網卡:

 

 9、磁盤分區

  

10、安裝過程

 

 11、添加一個網卡:

虛擬機安裝完成系統重啟之后給虛擬機新添加一塊網卡,最終實現鏡像虛擬機有兩塊網卡以實現內外雙網通信。

12、打開控制台:

[root@linux-image images]# virt-manager

 

 進入虛擬機控制界面:

 點擊添加硬件:

 

添加網卡:

 

 最終狀態:

更改yum源:

1、安裝下載軟件

[root@bogon ~]# yum install wget –y

2、配置yum 源

[root@bogon ~]# cd /etc/yum.repos.d/
[root@bogon yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[root@bogon yum.repos.d]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

3、安裝常用命令

[root@bogon yum.repos.d]# yum install -y net-tools vim lrzsz tree screen lsof ntpdate telnet acpid

4、關閉防火牆及selinux

[root@bogon yum.repos.d]# systemctl  disable NetworkManager
[root@bogon yum.repos.d]# systemctl  disable firewalld
[root@bogon yum.repos.d]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g'  /etc/selinux/config

五、官方GenericCloud 7.2.X鏡像制作

# 鏡像下載地址:http://cloud.centos.org/centos/7/images/

 下載官方鏡像

[root@linux-image iso]# wget http://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud-1511.qcow2.xz
[root@linux-image iso]# xz -d  CentOS-7-x86_64-GenericCloud-1511.qcow2.xz
[root@linux-image iso]# mv CentOS-7-x86_64-GenericCloud-1511.qcow2  /var/lib/libvirt/images/ 

 安裝修改密碼工具:

[root@linux-image iso]# yum install libguestfs-tools  -y

使用命令開始安裝鏡像:

 virt-install  --virt-type kvm --name  CentOS-GenericCloud  --ram 1024  \
 --cdrom=/usr/local/src/CentOS-7-x86_64-Minimal-1511.iso \
 --disk path=/var/lib/libvirt/images/CentOS-7-x86_64-GenericCloud-1905.qcow2 \
 --network bridge=br0  --graphics  vnc,listen=0.0.0.0  --noautoconsole  \

控制台打開控制端

# virt-manager

強制關機:

修改密碼:

 # virt-customize -a /var/lib/libvirt/images/CentOS-7-x86_64-GenericCloud-1905.qcow2  --root-password password:123456

修改完密碼后啟動虛擬機

# virt-manager

使用root遠程ssh登錄,默認ssh服務沒有打開密碼登陸,需要打開  

# vim  /etc/ssh/sshd_config
PasswordAuthentication yes  #打開密碼登陸

重啟sshd服務

# systemctl  restart  sshd

此時就可以ssh遠程登錄root用戶

關閉防護牆和selinux:

[root@localhost ~]# systemctl  disable firewalld
[root@localhost ~]# vim /etc/selinux/config
SELINUX=disabled
[root@localhost ~]#systemctl stop NetworkManager
[root@localhost ~]#systemctl disable NetworkManager

 安裝常用命令

# yum install  vim iotop bc gcc gcc-c++ glibc glibc-devel pcre \
pcre-devel openssl  openssl-devel zip unzip zlib-devel  net-tools \
lrzsz tree ntpdate telnet lsof tcpdump wget libevent libevent-devel \
bc  systemd-devel bash-completion traceroute -y

將啟動服務關閉,避免開機啟動慢

# systemctl disable cloud-init

修改文件,將不需要的文件注釋掉

# vim /etc/cloud/cloud.conf

打開宿主機控制台  

進入詳情界面:

 

點擊添加硬件:

 

添加網卡:

 

創建免秘鑰登錄:

1、在控制端創建公鑰

[root@computer-1 ~]# ssh-gen
-bash: ssh-gen: command not found
[root@computer-1 ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:vPOCUyQ9Xhf4bxx60G9SxULOjdhrPsY2f+o6USSdm/o root@computer-1
The key's randomart image is:
+---[RSA 2048]----+
|           . o.o |
|          . o==oo|
|       .   ..==+o|
|      ..+ . + *..|
|       +So . Bo+ |
|        o.  ++* o|
|       oo    =Bo |
|      o .o  .oE+.|
|       . .. .+o.o|
+----[SHA256]-----+

2、將控制端的公鑰復制到制作鏡像的系統中

ssh-copy-id 192.168.7.100  #IP地址為制作鏡像后獲取的IP地址

將制作好的鏡像關機,然后將制作好的centos鏡像傳到openstack上

# openstack image create "centos7.2"   --file CentOS-7-x86_64-GenericCloud-1905.qcow2  \
--disk-format qcow2 --container-format bare --public

創建Cenots 虛擬機:

定義名稱:

 

 

 選擇鏡像源:

 

 

 選擇類型:

 

虛擬機創建過程中:

創建完成:

驗證虛擬機可以訪問外網:

磁盤使用情況:

從鏡像創建windows 2008雲主機:

創建雲主機:

選擇鏡像源:

選擇類型:

調度中:

創建中:

創建完成,驗證是否激活:

驗證外網連接:

磁盤使用情況:

 

 
        
 
        

 

 

  

  


免責聲明!

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



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