使用debian云映像创建虚拟机 您所在的位置:网站首页 美国国家科学院院士很厉害吗 使用debian云映像创建虚拟机

使用debian云映像创建虚拟机

2023-10-30 04:45| 来源: 网络整理| 查看: 265

使用Debian云映像创建虚拟机 环境准备 Oracle Virtual Box Debian GNU/Linux 11 (bullseye)系统 Debian 11 Cloud Image

如果有一台装有Debian 11系统的机器最好,也可以用Windows/WSL2代替,而我用的是vscode devcontainer[1]创建的docker容器来作为工具搭建,配置见下。

ls -al .devcontainer/ devcontainer.json Dockerfile networks/ debian-master # 主节点网络配置 debian-node01 # 从节点网络配置 vboxes/ # virtual box虚拟机 debian-master/ debian-node01/

.devcontainer/devcontainer.json

{ "name": "Cloud Init Environment", "dockerFile": "Dockerfile", "remoteUser": "vscode" }

.devcontainer/Dockerfile

FROM mcr.microsoft.com/vscode/devcontainers/base:0-bullseye RUN sed -i 's:deb.debian.org:ftp.cn.debian.org:g' /etc/apt/sources.list \ && sed -i 's:security.debian.org:ftp.cn.debian.org:g' /etc/apt/sources.list RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ && apt-get -y install --no-install-recommends \ bash-completion \ cloud-image-utils \ qemu-utils \ && apt-get -y clean && rm -rf /var/lib/apt/lists/* RUN mkdir /images \ && cd /images \ && curl -sSL https://cloud.debian.org/images/cloud/bullseye/latest/debian-11-generic-amd64.qcow2 -O

然后从VSCode打开该目录,完成容器环境的搭建。

其中,我直接在容器中,直接从远程获取了Debian的云映像资源(目录/images),如果是自行环境搭建,可以从官网[2]下载。

新建Virtual Box虚拟机

由于VBox虚拟机不支持直接在已有文件夹下创建。

打开Oracle VM VirtualBox,新建一个虚拟机。

我将输入名称debian-master(名字随意)。

内存大小选择“512MB”,虚拟硬盘选择“不添加虚拟硬盘”。

进入虚拟机设置,在网络选项卡中,选择启用“网卡2”,选择连接方式“仅主机(Host-Only)网络”。

创建并vmdk虚拟硬盘 qemu-img convert -f qcow2 -O vmdk -o adapter_type=lsilogic /images/debian-11-generic-amd64.qcow2 vboxes/debian-master/root-disk.vmdk 创建NoCloud的iso镜像

参考cloud init[3]配置基础用户信息和系统配置(这里我们选用20.4.1版本查询模块设置参数),例如

master-data

#cloud-config password: passw0rd # 设置默认用户密码 chpasswd: { expire: False } # 是否强制用户修改初始密码 ssh_pwauth: True # 是否允许通过ssh访问 system_info: default_user: name: sysadmin # 设置默认用户登录名 apt: # 使用中国镜像 primary: - arches: [default] uri: http://ftp.cn.debian.org/debian/ security: - arches: [default] uri: http://ftp.cn.debian.org/debian-security/ sources_list: | deb $PRIMARY $RELEASE main # deb-src $PRIMARY $RELEASE main deb $PRIMARY $RELEASE-updates main # deb-src $PRIMARY $RELEASE-updates main # deb $PRIMARY $RELEASE-backports main # deb-src $PRIMARY $RELEASE-backports main deb $SECURITY $RELEASE-security main # deb-src $SECURITY $RELEASE-security main write_files: - path: /etc/sysctl.d/70-disable-ipv6.conf # 关闭IPv6协议 content: | net.ipv6.conf.all.disable_ipv6 = 1

以下是初始网络配置信息设置:

networks/debian-master

version: 2 ethernets: enp0s8: match: name: enp0s8 addresses: - 192.168.56.10/255.255.255.0 cloud-localds vboxes/debian-master/seed.iso master-data --hostname debian-master --dsmode local --network-config networks/debian-maste 关联虚拟硬盘和配置镜像

打开虚拟机设置,在存储选项卡中,在SATA添加注册vboxes/debian-master/root-disk.vmdk虚拟硬盘,在IDE分配光驱选择vboxes/debian-master/seed.iso。

打开虚拟机

等待虚拟机启动完成后,可以使用ssh访问192.168.56.10访问到虚拟机,输入刚才master-data配置用户名和密码,默认用户拥有sudo权限。

ssh [email protected]

这时已完成安装,并且支持外网访问。

安装apt-cacher-ng

安装apt-cacher-ng,使内网节点支持代理更新软件包:

sudo apt-get install apt-cacher-ng 配置部署内网节点

首先内网节点,我们不需要用户名和密码登录,使用主节点(debian-master)的ssh密钥登录,所以在主节点运行生成密钥对。

ssh-keygen -t rsa -a 2048

复制黏贴公钥文本后,修改master-data复制到node-data。

配置apt下载HTTP代理:http://192.168.56.10:3142。

#cloud-config ssh_authorized_keys: # SSH公钥设置 - ssh-rsa AAA..(你的公钥字符串)..ZgE= sysadmin@debian-master system_info: default_user: name: sysadmin # 设置默认用户登录名 apt: # 使用中国镜像 http_proxy: http://192.168.56.10:3142 # 内网代理节点 primary: - arches: [default] uri: http://ftp.cn.debian.org/debian/ security: - arches: [default] uri: http://ftp.cn.debian.org/debian-security/ sources_list: | deb $PRIMARY $RELEASE main # deb-src $PRIMARY $RELEASE main deb $PRIMARY $RELEASE-updates main # deb-src $PRIMARY $RELEASE-updates main # deb $PRIMARY $RELEASE-backports main # deb-src $PRIMARY $RELEASE-backports main deb $SECURITY $RELEASE-security main # deb-src $SECURITY $RELEASE-security main write_files: - path: /etc/sysctl.d/70-disable-ipv6.conf # 关闭IPv6协议 content: | net.ipv6.conf.all.disable_ipv6 = 1

重复上述操作建立debian-node01虚拟机,并在网络设置中,启用网络1,使用连接方式“仅主机(Host-Only)网络”具体内容不再概述,以下是相关执行脚本。

qemu-img convert -f qcow2 -O vmdk -o adapter_type=lsilogic /images/debian-11-generic-amd64.qcow2 vboxes/debian-node01/root-disk.vmdk cloud-localds vboxes/debian-node01/seed.iso node-data --hostname debian-node01 --dsmode local --network-config networks/debian-node01 示例项目参考

https://gitee.com/rwyc/debian-cloud-init-setups

https://code.visualstudio.com/docs/remote/containers ↩︎

https://cloud.debian.org/images/cloud/ ↩︎

https://cloudinit.readthedocs.io/en/20.4.1/ ↩︎



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有