惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

C
CXSECURITY Database RSS Feed - CXSecurity.com
GbyAI
GbyAI
aimingoo的专栏
aimingoo的专栏
Recent Announcements
Recent Announcements
Vercel News
Vercel News
The GitHub Blog
The GitHub Blog
A
About on SuperTechFans
G
Google Developers Blog
MyScale Blog
MyScale Blog
N
Netflix TechBlog - Medium
博客园 - 叶小钗
Know Your Adversary
Know Your Adversary
V
Vulnerabilities – Threatpost
D
DataBreaches.Net
P
Palo Alto Networks Blog
C
Cisco Blogs
H
Hackread – Cybersecurity News, Data Breaches, AI and More
NISL@THU
NISL@THU
Forbes - Security
Forbes - Security
Microsoft Security Blog
Microsoft Security Blog
T
The Exploit Database - CXSecurity.com
阮一峰的网络日志
阮一峰的网络日志
腾讯CDC
Schneier on Security
Schneier on Security
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
N
News and Events Feed by Topic
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Engineering at Meta
Engineering at Meta
Last Week in AI
Last Week in AI
AWS News Blog
AWS News Blog
Security Latest
Security Latest
H
Heimdal Security Blog
小众软件
小众软件
Cyberwarzone
Cyberwarzone
The Hacker News
The Hacker News
P
Privacy International News Feed
Stack Overflow Blog
Stack Overflow Blog
The Cloudflare Blog
Scott Helme
Scott Helme
博客园 - 【当耐特】
Latest news
Latest news
Microsoft Azure Blog
Microsoft Azure Blog
Y
Y Combinator Blog
Jina AI
Jina AI
Spread Privacy
Spread Privacy
量子位
博客园_首页
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Blog — PlanetScale
Blog — PlanetScale
雷峰网
雷峰网

中文博客 on 范叶亮 | Leo Van

多智能体系统 (Multi-Agent System) 确定性和掌控欲 - 你的 AI 不是你的 AI LLM Token 消耗节省计划 (How to Save Token for LLM) 智能体的角色定位和身份演化 (Agent Role Orientation and Identity Evolution) 本地部署 OpenClaw,QwenPaw 和 Hermes Agent (Local Deployment of OpenClaw, QwenPaw and Hermes Agent) 本地部署智能体 - OpenClaw,QwenPaw,Hermes Agent ... 部署 Matrix 服务器 Synapse (Deployment of Matrix Server Synapse) 部署 frp 内网穿透服务 (Deployment of frp NAT Traversal Service) 本地部署大模型服务 (Local Deployment of LLM Services) AI 时代的生产力和生产关系 (Forces and Relations of Production in AI Era) 业余无线电入门 - CQ, CQ, CQ, this is BD1CZP. Calling CQ and standing by. 重构 - 之于代码、之于工作、之于生活 大语言模型微调 (Fine-tuning Large Language Models) 提升图片分辨率和质量 - Invoke AI 101 教程 使用画布创建和组合生成新的图片 - Invoke AI 101 教程 探索 AI 模型和概念适配器 - Invoke AI 101 教程 理解图像到图像和降噪过程 - Invoke AI 101 教程 使用控制层和指示控制图片的生成 - Invoke AI 101 教程 使用 Invoke 创作你的第一张图片 - Invoke AI 101 教程 在 OpenWrt 和群晖中自动申请和部署证书 凡人歌 - 凡人,但不要烦心 Shell 调用方式 fork,exec 和 source (Run Shell with fork, exec and source) 重定向和管道 (Redirect and Pipe) 模型压缩和推理加速 (Model Compression and Inference Acceleration) 我们需要多少种编程语言 (How Many Programming Languages do We Need) 数据可视化小贴士 - 面向动态文档生成,秉承规范、统一和实用的理念 从 rm -rf * 说起 - 喜新、怀旧、再出发 当我谈摄影时,我谈些什么 - 色彩篇 Part 1 CSS 布局和定位 (CSS Layout and Position) 当我谈修图时,我谈些什么 - 色彩篇 Part 1 在 Windows 下利用 WSL2 和 Ubuntu 配置 GPU 机器学习环境 文学编程和可重复性研究 (Literate Programming and Reproducible Research) 在 OpenWrt 中安装 Jellyfin 搭建家庭影音中心 自私和贪婪 (Selfish and Greedy) 评分和排名算法 (Rating & Ranking Algorithms) 小记这一波裁员浪潮 基于内容的图像检索 (Content-based Image Retrieval, CBIR) 你所应该知道的 A/B 测试 (A/B Test You Should Know) 一个人的摩旅 (Travel with My Motorcycle Alone) 设计语言初探 (A Glimpse of Design Language) Spark 集群搭建 (Spark Cluster Setup) Hive 安装和配置 (Hive Setup) Hadoop 集群搭建 (Hadoop Cluster Setup) 大数据 SQL 性能调优 (Big Data SQL Performance Tuning) SQL 样式指南 (SQL Style Guide) 进程,线程和协程 (Process, Thread and Coroutine) - 实现篇 进程,线程和协程 (Process, Thread and Coroutine) - 理论篇 胶囊网络 (Capsule Network) 投票公平合理吗? 图存储与计算 (Network Storage and Computing) - 复杂网络系列 网络算法 (Network Algorithms) - 复杂网络系列 真实世界网络结构 (Structure of Real-World Network) - 复杂网络系列 网络表示,测度和度量 (Network Representation, Measures and Metrics) - 复杂网络系列 文本相似度 (Text Similarity) 而立之前 (Life before 30) 最近邻搜索 (Nearest Neighbor Search) 无模型策略预测和控制 - 时序差分学习 (Model-Free Policy Prediction and Control - Temporal Difference Learning) - 强化学习系列 无模型策略预测和控制 - 蒙特卡洛方法 (Model-Free Policy Prediction and Control - Monte-Carlo Learning) - 强化学习系列 利用动态规划求解马尔可夫决策过程 (Planning by Dynamic Programming) - 强化学习系列 贝叶斯优化 (Bayesian Optimization) 马尔可夫决策过程 (Markov Decision Process) - 强化学习系列 多臂赌博机 (Multi-armed Bandit) - 强化学习系列 强化学习简介 (Introduction of Reinforcement Learning) - 强化学习系列 在群晖 NAS 上编译安装 tmux 隐马尔可夫,条件随机场和序列标注 (Hidden Markov Model, Conditional Random Fields and Sequence Labeling) 图嵌入和图神经网络 (Graph Embedding and Graph Neural Network) 预训练自然语言模型 (Pre-trained Models for NLP) toB 产品用户权限 (User Privileges of toB Products) 京东数科 HIPO 学习之旅 (JDD HIPO Learning Journey) 杭州和东京之旅 (Tour of Hangzhou and Tokyo) 国际智慧温室种植挑战赛 (International Autonomous Greenhouse Challenge) 记忆中的儿时 (My Childhood in Memory) 启发式算法 (Heuristic Algorithms) 关不掉的浏览器标签页 (Browser Tabs You do not Close) 贝塞尔曲线 (Bézier Curve) 如何阅读一本书 (How to Read a Book) 相似性和距离度量 (Similarity and Distance Measurement) 集成学习算法 (Ensemble Learning) 计算复杂性与动态规划 (Computational Complexity and Dynamic Programming) 利用 Flask 和 Google App Engine 部署模型服务 序列到序列和注意力机制 (Seq2Seq and Attention Machanism) 词向量 (Word Embeddings) 循环神经网络 (Recurrent Neural Network, RNN) 泰国之行 (Tour of Thailand) 媒介之战 (War of Medias) 卷积神经网络 (Convolutional Neural Network, CNN) 买书,囤书,看书 (Buy Books, Hoard Books and Read Books) Play Safe, Smart Choice & Yuppie 基于 PyQt5/PySide2 和 QML 的跨平台 GUI 程序开发 流形学习 (Manifold Learning) 深度学习优化算法 (Optimization Methods for Deep Learning) 深度学习优化算法 (Optimization Methods for Deeplearning) 生成对抗网络简介 (GAN Introduction) Ising 模型,Hopfield 网络和受限的玻尔兹曼机 (Ising, Hopfield and RBM) 马尔科夫链蒙特卡洛方法和吉布斯采样 (MCMC and Gibbs Sampling) 特征值分解,奇异值分解和主成分分析 (EVD, SVD and PCA) 墨尔本之行 (Trip to Melbourne)
虚拟环境准备 (Virtual Environment Preparation)
范叶亮 · 2021-06-12 · via 中文博客 on 范叶亮 | Leo Van

虚拟环境准备

Virtual Environment Preparation

分类: Tech101, 教程 / 字数: 1365 / 标签: 虚拟环境, VirtualBox, Ubuntu, Ubuntu Server, 虚拟机, 固定 IP, Host-only Adapter, NAT, Bridged, 免密, 免密码, 免密登录, OpenSSH, SSH


本文以 VirtualBox 和 Ubuntu Server 为例,介绍在 macOS 下搭建 3 台虚拟机集群过程。

安装 VirtualBox

官网下载最新版本的 VirtualBox 和 VirtualBox Extension Pack,本文以 6.1.22 版本为例。根据安装向导安装 VirtualBox。

双击下载好的 .vbox-extpack 安装文件安装 VirtualBox Extension Pack。

通过 File -> Host Network Manager... 为 VirtualBox 添加一块网卡。

安装 Ubuntu Server

虚拟机配置

官网下载最新版本的 Ubuntu Server,本文以 20.04.2 LTS 版本为例。在 VirtualBox 通过 New 按钮添加新的虚拟机,首先为虚拟机配置名称,存储路径和内存大小等基本信息:

单击 Create 后为虚拟机配置磁盘类型和大小:

单击 Create 完成创建。创建完毕后,在左侧列表中选择创建好的虚拟机,通过 Settings 按钮打开设置对话框,在 System - Motherboard 标签页去除掉软盘启动 Boot Order - Floppy,同时也可以再次调整内存大小:

System - Processor 标签页可以调整虚拟机使用 CPU 的数量:

Display - Acceleration 标签页可以调整使用的现存大小:

Network - Adapter 1 标签页选择 NAT 网络类型,该网卡用于虚拟机连接外部网络:

Network - Adapter 2 标签页选择 Host-only Adapter 网络类型,名称选择上文 VirtualBox 配置的 vboxnet0,该网卡用于虚拟机连接内部网络:

Network - Adapter 2 标签页为光驱选择挂载的磁盘镜像:

添加下载好的 Ubuntu Server ISO 磁盘镜像:

Ubuntu Server 安装配置

单击 Start 按钮启动虚拟机,启动后等待片刻,在语言选择页面选择 English

在键盘布局页面采用默认配置,Done 进入下一步:

在网络配置页面,上文中配置了两块网卡,在此我们需要对于 Host-only Adapter 网卡 enp0s8 进行配置,NAT 网卡 enp0s3 采用默认即可:

进入配置后选择手动 Nanual,在 Subnet 中输入 192.168.56.0/24(参考上文中 VirtualBox 添加的网卡设置),在 Address 中输入 192.168.56.1,在 Gateway 中输入 192.168.56.1Save 进行保存:

配置完后,结果如下,Done 进入下一步:

在镜像配置页面,根据实际情况选择一个合适的镜像地址,本文采用清华大学的镜像地址 https://mirrors.tuna.tsinghua.edu.cn/ubuntu/Done 进入下一步:

在存储配置页面,为了方便起见选择使用整个磁盘,Done 进入下一步:

确认磁盘配置信息,Done 进入下一步:

在用户信息配置页面,输入用户名和密码等信息,Done 进入下一步:

在 SSH 配置页面,选择安装 OpenSSH server,Done 进入下一步:

在软件包配置页面,跳过安装,Done 进入下一步:

安装完毕后,Reboot Now 重启虚拟机:

配置 Ubuntu Server

克隆虚拟机

重启后,输入用户名和密码即可进入系统:

通过如下命令更新系统软件到最新版本:

sudo apt update
sudo apt upgrade
sudo apt autoremove

输入以下命令进行关机:

右键单击虚拟机 Ubuntu Server 1,选择 Clone 对虚拟机进行克隆,选择为所有网卡重新生成 MAC 地址,然后单击 Continue

选择 Full clone 模式,单击 Continue 完成克隆:

配置网络

分别进入虚拟机 2 和 3,修改固定 IP 地址为 191.168.56.102191.168.56.103

sudo vi /etc/netplan/00-installer-config.yaml
# This is the network config written by 'subiquity'
network:
  ethernets:
    enp0s3:
      dhcp4:true
    enp0s8:
      addresses:
      - 192.168.56.101/24
      gateway4: 192.168.56.1
      nameservers:
        addresses: []
        search: []
  version: 2

将配置文件中 00-installer-config.yaml192.168.56.101 修改为对应的 IP。然后执行:

让配置生效。

为三台虚拟机修改主机名为 vm-01vm-02vm-03

sudo hostnamectl set-hostname vm-0x

为三台虚拟机设置 IP 和主机名映射:

在结尾添加:

# VM
192.168.56.101 vm-01
192.168.56.102 vm-02
192.168.56.103 vm-03

配置 SSH

分别进入三台虚拟机并生成密钥:

这会在 ~/.ssh 目录生成一对密钥,其中 id_rsa 是私钥,id_rsa.pub 是公钥。

将三台机器中的 id_rsa.pub 导出合并到 ~/.ssh/authorized_keys 文件中,为了方便可以将自己电脑的 id_rsa.pub 也合并到其中实现免密登录。

登录任意每台虚拟机,通过如下命令测试是否可以免密登录:

ssh vm-01
ssh vm-02
ssh vm-03