一、創建虛擬機失敗
vm上運行virt-install 創建kvm類型的主機,centos的版本建議不要超過7.2,本人用的7.7版本,不能創建kvm類型的虛擬機,只能創建qemu類型的虛擬機。把宿主機版本降到7.2後,恢復正常。
二、Nova控制節點安裝報錯
採用centos7.2,yum安裝報錯,需要在手動添加一個QEMU-EV.repo文件
[root@node3 yum.repos.d]# cat 1.repo
[openstack]
name=openstack
baseurl=https://mirrors.aliyun.com/centos/7/cloud/x86_64/openstack-rocky/
gpgcheck=0
enabled=1
[root@node3 yum.repos.d]# cat CentOS-QEMU-EV.repo
[centos-qemu-ev]
name=CentOS-$releasever - QEMU EV
baseurl=https://mirrors.aliyun.com/centos/7/virt/x86_64/kvm-common/
gpgcheck=0
enabled=1
三、手動創建openstack鏡像,console日誌無輸出
這個問題需要在手動創建centos鏡像時修改內核參數
1. vim /etc/default/grub
2. 添加一行
GRUB_CMDLINE_LINUX_DEFAULT="console=ttyS0"
3. grub2-mkconfig -o /boot/grub2/grub.cfg
4. 重啓虛擬機,然後上傳鏡像
四、修改官方Cloud image的密碼的簡單方法
CentOS爲各種不同的雲環境提供cloud images,比如OpenStack,RHV,AZure,或KVM. 一般來說,是通過cloud-init工具來修改用戶密碼或SSH keys. 但是那似乎不太方便。 下面是一種方便的方法。
官方的CentOS的cloud image的下載地址是:
http://cloud.centos.org/centos/7/images/
- 第一步,安裝軟件libguestfs-tools
yum install libguestfs-tools -y
- 第二步,設定一個固定密碼
virt-customize -a CentOS-7-x86_64-GenericCloud-1703.qcow2 --root-password password:passw0rd
如果這一步報錯:
virt-customize: symbol lookup error: /lib64/libguestfs.so.0: undefined symbo
執行:
yum update
如果 執行update報錯:
Error: initscripts conflicts with redhat-release-server-7.0-1.el7.x86_64
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
接着執行:
rpm -e redhat-release-server-7.0-1.el7.x86_64 --nodeps
最後再去設置密碼就OK啦
但在實際使用過程中,往往我們還希望能夠ssh到這個cloud image的instance上。此時發現cloud image默認是不允許用root以及密碼進行登錄的。那麼解決辦法就是:
- 編輯 /etc/ssh/sshd_config 文件,將其中的下面2句話釋放出來:
PermitRootLogin yes
PasswordAuthentication yes
2.修改authorized_keys文件
sed -ri 's/^/#/;s/sleep 10"\s+/&\n/' /root/.ssh/authorized_keys
3.重啓ssh服務
systemctl restart sshd.service