一、创建虚拟机失败

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以及密码进行登录的。那么解决办法就是:

  1. 编辑 /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