使用 KVM 启动 Fedora 云镜像

以下是您如何使用 KVM 在本地机器上使用 Fedora 云镜像的方法。

下载云图像。

wget https://mirrors.tuna.tsinghua.edu.cn/fedora/releases/35/Cloud/x86_64/images/Fedora-Cloud-Base-35-1.2.x86_64.qcow2

制作一个名为 my-disk.qcow2 的新本地支持映像(这样我们就不会写入我们下载的映像)。

qemu-img create -f qcow2 -b Fedora-Cloud-Base-35-1.2.x86_64.qcow2 my-disk.qcow2 20G

云镜像使用 cloud-init 在启动时配置自身,设置主机名、用户名、密码和 ssh 密钥等。您还可以在启动过程的两个阶段运行特定命令(请参阅下面的bootcmdruncmd)并输出消息(请参阅下面的final_message)这对脚本化测试很有用。

使用以下内容创建一个名为meta-data的文件。

cat > meta-data << EOF
instance-id: Cloud00
local-hostname: cloud-00
EOF

接下来,创建一个名为user-data的文件,内容如下(根据需要修改)。这将默认用户设置为cloud密码为password(您可能更喜欢在文件中使用加密密码)并解锁帐户,以便您可以在终端登录(无需 SSH)。如果您愿意,也可以添加您自己的公共 SSH 密钥。

cat > user-data << EOF
#cloud-config
# Set the default user
system_info:
  default_user:
    name: cloud
    plain_text_passwd: 'password'
    groups: [wheel]
 
# Unlock the default user
chpasswd:
  list: |
     cloud:password
  expire: False
 
# Other settings
ssh_pwauth: True

 

EOF

Cloud init 在启动时挂载 CD-ROM,因此使用 `genisoimage` 或 `mkisofs` 从这些文件中创建 ISO 映像。

genisoimage -output my-seed.iso -volid cidata -joliet -rock user-data meta-data
mkisofs -J -l -R -V "cidata" -iso-level 4 -o my-seed.iso user-data meta-data

如果您想通过 SSH 连接,您将需要某种桥接器。如果您已经在运行 libvirtd,那么您应该有一个 virbr0 网络设备(在下面的示例中使用)来为您的云实例提供本地网络。如果您没有设置网桥,您仍然可以在没有网络支持的情况下启动它(去掉下面的-netdev-device行)。

现在我们准备启动它!

  virt-install \
            --name fedora\
            --memory 1024 \
            --disk my-disk.qcow2,device=disk,bus=virtio \
            --disk my-seed.iso,device=cdrom \
            --os-type linux \
            --os-variant fedora30 \
            --virt-type kvm \
            --graphics none \
            --network network=default \
            --import

您应该会看到一个弹出窗口和 Fedora 加载和 cloud-init 配置实例。在登录提示时,您应该能够使用您在 user-data 中设置的用户名cloud和密码登录。

08-03 867
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值