设为首页 加入收藏

TOP

KVM导入Ubuntu/Centos Cloud Image创建虚机及调整磁盘大小(二)
2023-07-23 13:35:50 】 浏览:274
Tags:KVM 导入 Ubuntu/Centos Cloud Image
  • chpasswd: { expire: False } 不过期
  • ssh_pwauth: True 设置为使用密码登录
  • ssh_import_id: ${USER} 这里设置的是创建的用户名
  • 除了默认的ubuntu用户, 新增自定义用户的例子

    #cloud-config
    users:
      - default
      - name: milton
        groups: [sudo]
        sudo: ALL=(ALL) NOPASSWD:ALL
        shell: /bin/bash
        lock_passwd: false
        plain_text_passwd: ubuntu
    chpasswd: 
      expire: False
    ssh_pwauth: True
    

    创建 seed.img

    用 cloud-localds 命令创建 seed.img

    cloud-localds seed.img user-data.yaml metadata.yaml
    

    导入 Cloud Image

    以迷你版为例. 这个过程对于 Ubuntu 和 Centos 的 Cloud Image 都是通用的

    例子1

    virt-install --name ubuntu2004_1 \
        --vcpus 2 --memory 4096 \
        --graphics none \
        --import \
        --os-variant ubuntu20.04 \
        --network bridge=br0,model=virtio \
        --disk /data/vms/ubuntu20.04_1.img \
        --disk /data/vms/seed.img
    

    其中 ubuntu20.04_1.img 是重命名后的cloud镜像, seed.img 可以直接挂载

    例子2

    virt-install --name vm_centos7a \
        --vcpus 2 --memory 4096 \
        --graphics none --import \
        --os-variant=rhel7.9 \
        --network bridge=br0,model=virtio \
        --disk /vms/vm_centos7a.qcow2 \
        --disk /vms/seed.img,device=cdrom
    

    centos可以加device=cdrom挂载, ubuntu不能用这种方式, import后不识别, 只能用--disk /vms/seed.img

    例子3

    kvm-spice -m 2048 \
        -drive file=ubuntu-18.04-server-cloudimg-amd64.img,if=virtio,cache=writeback \
        -cdrom seed.img \
        -net nic,model=virtio \
        -net user,hostfwd=tcp::222-:22
    

    这个会将虚机的22端口映射到宿主的222端口

    导入启动过程

    执行命令后会启动到登录提示符. 过程中会穿插着执行初始化, 显示机器的信息, 包括IP地址, 网络环境, 导入的用户key等

             Starting Initial cloud-ini… (metadata service crawler)...
    cloud-init[271]: Cloud-init v. 22.2-0ubuntu1~20.04.3 running 'init' at Thu, 13 Oct 2022 07:39:43 +0000. Up 10.34 seconds.
    cloud-init[271]: ci-info: +++++++++++++++++++++++++++++++++++++++++++Net deviceinfo++++++++++++++++++++++++++++++++++++++++++++
    cloud-init[271]: ci-info: +--------+------+---------------------------------------+---------------+--------+-------------------+
    cloud-init[271]: ci-info: | Device |  Up  |                Address                |      Mask     | Scope  |     Hw-Address    |
    cloud-init[271]: ci-info: +--------+------+---------------------------------------+---------------+--------+-------------------+
    cloud-init[271]: ci-info: | enp1s0 | True |             192.168.9.106             | 255.255.255.0 | global | 13:54:00:01:e0:29 |
    ...
    cloud-init[271]: ci-info: ++++++++++++++++++++++++++++++Route IPv4 info++++++++++++++++++++++++++++++
    cloud-init[271]: ci-info: +-------+-------------+-------------+-----------------+-----------+-------+
    cloud-init[271]: ci-info: | Route | Destination |   Gateway   |     Genmask     | Interface | Flags |
    cloud-init[271]: ci-info: +-------+-------------+-------------+-----------------+-----------+-------+
    cloud-init[271]: ci-info: |   0   |   0.0.0.0   | 192.168.9.1 |     0.0.0.0     |   enp1s0  |   UG  |
    ...
    cloud-init[271]: ci-info: ++++++++++++++++++++++++++++++++Route IPv6 info++++++++++++++++++++++++++++++++
    ...
    cloudimg login: cloud-init[481]: 2022-10-13 07:39:58,045 ERROR ssh-import-id protocol handler {'gh': not found or cannot execute
    cloud-init[481]: Cloud-init v. 22.2-0ubuntu1~20.04.3 running 'modules:config' at Thu, 13 Oct 2022 07:39:57 +0000. Up 24.65 seconds.
    cloud-init[481]: 2022-10-13 07:39:58,089 - util.py[WARNING]: Failed to run command to import ubuntu SSH ids
    cloud-init[481]: 2022-10-13 07:39:58,100 - util.py[WARNING]: ssh-import-id failed for: ubuntu ["{'gh': None}", "{'lp': None}"]
    cloud-init[481]: 2022-10-13 07:39:58,101 - util.py[WARNING]: Running module
    首页 上一页 1 2 3 下一页 尾页 2/3/3
    】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
    上一篇LNMP简介 下一篇linux包管理器rpm和dpkg的使用说明

    最新文章

    热门文章

    Hot 文章

    Python

    C 语言

    C++基础

    大数据基础

    linux编程基础

    C/C++面试题目