linux kvm百度云,如何在 Ubuntu Linux 上使用 KVM 云镜像
如何下载并使用运行在 Ubuntu Linux 服务器上的 KVM 云镜像?如何在 Ubuntu Linux 16.04 LTS 服务器上无需完整安装即可创建虚拟机?如何在 Ubuntu Linux 上使用 KVM 云镜像?
基于内核的虚拟机(KVM)是 Linux 内核的虚拟化模块,可将其转变为虚拟机管理程序。你可以在命令行使用 Ubuntu 为 libvirt 和 KVM 提供的虚拟化前端通过 KVM 创建 Ubuntu 云镜像。
这个快速教程展示了如何安装和使用 uvtool,它为 Ubuntu 云镜像下载,libvirt 和 clout_int 提供了统一的集成虚拟机前端。
步骤 1 - 安装 KVM
你必须安装并配置 KVM。使用 apt 命令/apt-get 命令,如下所示:
$ sudo apt install qemu-kvm libvirt-bin virtinst bridge-utils cpu-checker
$ kvm-ok
## [configure bridged networking as described here][3]
$ sudo vi /etc/network/interfaces
$ sudo systemctl restart networking
$ sudo brctl show
参阅如何在 Ubuntu 16.04 LTS Headless 服务器上安装 KVM 以获得更多信息。(LCTT 译注:Headless 服务器是指没有本地接口的计算设备,专用于向其他计算机及其用户提供服务。)
步骤 2 - 安装 uvtool
键入以下 apt 命令/apt-get 命令:
$ sudo apt install uvtool
示例输出:[sudo] password for vivek:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
gksu libgksu2-0 libqt5designer5 libqt5help5 libqt5printsupport5 libqt5sql5 libqt5sql5-sqlite libqt5xml5 python3-dbus.mainloop.pyqt5 python3-notify2 python3-pyqt5 python3-sip
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
cloud-image-utils distro-info python-boto python-pyinotify python-simplestreams socat ubuntu-cloudimage-keyring uvtool-libvirt
Suggested packages:
cloud-utils-euca shunit2 python-pyinotify-doc
The following NEW packages will be installed:
cloud-image-utils distro-info python-boto python-pyinotify python-simplestreams socat ubuntu-cloudimage-keyring uvtool uvtool-libvirt
0 upgraded, 9 newly installed, 0 to remove and 0 not upgraded.
Need to get 1,211 kB of archives.
After this operation, 6,876 kB of additional disk space will be used.
Get:1 http://in.archive.ubuntu.com/ubuntu artful/main amd64 distro-info amd64 0.17 [20.3 kB]
Get:2 http://in.archive.ubuntu.com/ubuntu artful/universe amd64 python-boto all 2.44.0-1ubuntu2 [740 kB]
Get:3 http://in.archive.ubuntu.com/ubuntu artful/main amd64 python-pyinotify all 0.9.6-1 [24.6 kB]
Get:4 http://in.archive.ubuntu.com/ubuntu artful/main amd64 ubuntu-cloudimage-keyring all 2013.11.11 [4,504 B]
Get:5 http://in.archive.ubuntu.com/ubuntu artful/main amd64 cloud-image-utils all 0.30-0ubuntu2 [17.2 kB]
Get:6 http://in.archive.ubuntu.com/ubuntu artful/universe amd64 python-simplestreams all 0.1.0~bzr450-0ubuntu1 [29.7 kB]
Get:7 http://in.archive.ubuntu.com/ubuntu artful/universe amd64 socat amd64 1.7.3.2-1 [342 kB]
Get:8 http://in.archive.ubuntu.com/ubuntu artful/universe amd64 uvtool all 0~git122-0ubuntu1 [6,498 B]
Get:9 http://in.archive.ubuntu.com/ubuntu artful/universe amd64 uvtool-libvirt all 0~git122-0ubuntu1 [26.9 kB]
Fetched 1,211 kB in 3s (393 kB/s)
Selecting previously unselected package distro-info.
(Reading database ... 199933 files and directories currently installed.)
Preparing to unpack .../0-distro-info_0.17_amd64.deb ...
Unpacking distro-info (0.17) ...
Selecting previously unselected package python-boto.
Preparing to unpack .../1-python-boto_2.44.0-1ubuntu2_all.deb ...
Unpacking python-boto (2.44.0-1ubuntu2) ...
Selecting previously unselected package python-pyinotify.
Preparing to unpack .../2-python-pyinotify_0.9.6-1_all.deb ...
Unpacking python-pyinotify (0.9.6-1) ...
Selecting previously unselected package ubuntu-cloudimage-keyring.
Preparing to unpack .../3-ubuntu-cloudimage-keyring_2013.11.11_all.deb ...
Unpacking ubuntu-cloudimage-keyring (2013.11.11) ...
Selecting previously unselected package cloud-image-utils.
Preparing to unpack .../4-cloud-image-utils_0.30-0ubuntu2_all.deb ...
Unpacking cloud-image-utils (0.30-0ubuntu2) ...
Selecting previously unselected package python-simplestreams.
Preparing to unpack .../5-python-simplestreams_0.1.0~bzr450-0ubuntu1_all.deb ...
Unpacking python-simplestreams (0.1.0~bzr450-0ubuntu1) ...
Selecting previously unselected package socat.
Preparing to unpack .../6-socat_1.7.3.2-1_amd64.deb ...
Unpacking socat (1.7.3.2-1) ...
Selecting previously unselected package uvtool.
Preparing to unpack .../7-uvtool_0~git122-0ubuntu1_all.deb ...
Unpacking uvtool (0~git122-0ubuntu1) ...
Selecting previously unselected package uvtool-libvirt.
Preparing to unpack .../8-uvtool-libvirt_0~git122-0ubuntu1_all.deb ...
Unpacking uvtool-libvirt (0~git122-0ubuntu1) ...
Setting up distro-info (0.17) ...
Setting up ubuntu-cloudimage-keyring (2013.11.11) ...
Setting up cloud-image-utils (0.30-0ubuntu2) ...
Setting up socat (1.7.3.2-1) ...
Setting up python-pyinotify (0.9.6-1) ...
Setting up python-boto (2.44.0-1ubuntu2) ...
Setting up python-simplestreams (0.1.0~bzr450-0ubuntu1) ...
Processing triggers for doc-base (0.10.7) ...
Processing 1 added doc-base file...
Setting up uvtool (0~git122-0ubuntu1) ...
Processing triggers for man-db (2.7.6.1-2) ...
Setting up uvtool-libvirt (0~git122-0ubuntu1) ...
步骤 3 - 下载 Ubuntu 云镜像
你需要使用 uvt-simplestreams-libvirt 命令。它维护一个 libvirt 容量存储池,作为一个简单流simplestreams源的镜像子集的本地镜像,比如 Ubuntu 云镜像。要使用当前所有 amd64 镜像更新 uvtool 的 libvirt 容量存储池,运行:$ uvt-simplestreams-libvirt sync arch=amd64
要更新/获取 Ubuntu 16.04 LTS (xenial/amd64) 镜像,运行:$ uvt-simplestreams-libvirt --verbose sync release=xenial arch=amd64
示例输出:Adding: com.ubuntu.cloud:server:16.04:amd64 20171121.1
通过 query 选项查询本地镜像:$ uvt-simplestreams-libvirt query
示例输出:release=xenial arch=amd64 label=release (20171121.1)
现在,我为 Ubuntu xenial 创建了一个镜像,接下来我会创建虚拟机。
步骤 4 - 创建 SSH 密钥
你需要使用 SSH 密钥才能登录到 KVM 虚拟机。如果你根本没有任何密钥,请使用 ssh-keygen 命令创建一个新的密钥。$ ssh-keygen
参阅“如何在 Linux / Unix 系统上设置 SSH 密钥” 和 “Linux / UNIX: 生成 SSH 密钥” 以获取更多信息。
步骤 5 - 创建 VM
是时候创建虚拟机了,它叫 vm1,即创建一个 Ubuntu Linux 16.04 LTS 虚拟机:$ uvt-kvm create vm1
默认情况下 vm1 使用以下配置创建:
内存:512M
磁盘大小:8GiB
CPU:1 vCPU core
要控制内存、磁盘、CPU 和其他配置,使用以下语法:
$ uvt-kvm create vm1 \
--memory MEMORY \
--cpu CPU \
--disk DISK \
--bridge BRIDGE \
--ssh-public-key-file /path/to/your/SSH_PUBLIC_KEY_FILE \
--packages PACKAGES1, PACKAGES2, .. \
--run-script-once RUN_SCRIPT_ONCE \
--password PASSWORD
其中
--password PASSWORD:设置 ubuntu 用户的密码和允许使用 ubuntu 的用户登录(不推荐,使用 ssh 密钥)。
--run-script-once RUN_SCRIPT_ONCE : 第一次启动时,在虚拟机上以 root 身份运行 RUN_SCRIPT_ONCE 脚本,但再也不会运行。这里给出完整的路径。这对于在虚拟机上运行自定义任务时非常有用,例如设置安全性或其他内容。
--packages PACKAGES1, PACKAGES2, .. : 在第一次启动时安装以逗号分隔的软件包。
要获取帮助,运行:
$ uvt-kvm -h
$ uvt-kvm create -h
如何删除虚拟机?
要销毁/删除名为 vm1 的虚拟机,运行(请小心使用以下命令,因为没有确认框):$ uvt-kvm destroy vm1
获取 vm1 的 IP 地址,运行:$ uvt-kvm ip vm1
192.168.122.52
列出所有运行的虚拟机$ uvt-kvm list
示例输出:
vm1
freebsd11.1
步骤 6 - 如何登录 vm1
语法是:$ uvt-kvm ssh vm1
示例输出:
Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-101-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
Get cloud support with Ubuntu Advantage Cloud Guest:
http://www.ubuntu.com/business/services/cloud
0 packages can be updated.
0 updates are security updates.
Last login: Thu Dec 7 09:55:06 2017 from 192.168.122.1
另一个选择是从 macOS/Linux/Unix/Windows 客户端使用常规的 ssh 命令:
$ ssh ubuntu@192.168.122.52
$ ssh -i ~/.ssh/id_rsa ubuntu@192.168.122.52
示例输出:
Connect to the running VM using ssh
一旦创建了 vim,你可以照常使用 virsh 命令:$ virsh list
linux kvm百度云,如何在 Ubuntu Linux 上使用 KVM 云镜像相关推荐
- linux kvm百度云,容器与云|如何在 Ubuntu Linux 上使用 KVM 云镜像
如何下载并使用运行在 Ubuntu Linux 服务器上的 KVM 云镜像?如何在 Ubuntu Linux 16.04 LTS 服务器上无需完整安装即可创建虚拟机?如何在 Ubuntu Linux ...
- linux mint 安装内核,如何在Ubuntu, Linux Mint中安装Linux Kernel 4.18
Linus Torvalds终于在12日下午宣布发布Linux Kernel 4.18. 他在lkml.org写道: 这是一个非常平静的一周,可以说我上周可以按时发布,但我们确实有一些小的更新. 主要 ...
- 中兴linux系统卸载软件,如何在Ubuntu Linux上配置ZTA中兴认证客户端
前两天兴起,通宵看了些Linux的基本介绍,然后装了Ubuntu 10.04. Ubuntu整个系统让人很满意,界面简洁舒服,运行速度较比Win 7稍快.可是,装好后的难题马上就出来了: 学校的宽带网 ...
- linux erlang版本,技术|如何在 Ubuntu Linux 上安装最新的 Erlang
Erlang 是一种用于构建大规模可扩展实时系统的函数式编程语言.Erlang 最初是由 爱立信 创建的专有软件,后来被开源. Erlang 在 Ubuntu 的 Universe 仓库 中可用.启用 ...
- linux面板字体颜色,如何在Ubuntu Linux中为Gnome面板自定义字体和颜色
本周早些时候,我们向您展示如何使侏儒面板完全透明的 ,但你真的需要一些定制的字体和颜色,使效果更好地工作. 这里是如何做到这一点. 本文是如何定制Ubuntu桌面的多部分系列的第一部分,由How-To ...
- 如何在Ubuntu/CentOS上安装Linux内核4.0
如何在Ubuntu/CentOS上安装Linux内核4.0 大家好,今天我们学习一下如何从Elrepo或者源代码来安装最新的Linux内核4.0.代号为'Hurr durr I'm a sheep'的 ...
- 怎么在linux上装java,如何在Ubuntu Linux上安装Java
介绍 如何在Ubuntu Linux上安装Java?尽管对于一个经验丰富的Linux系统管理员来说,这个主题是一个很容易理解的话题,但是对于初学者而言,在我需要什么版本的Java,如何安装它或如何在多 ...
- mint linux更新内核,如何在Ubuntu/Linux Mint中安装最新Linux 5.2.5内核
原标题:如何在Ubuntu/Linux Mint中安装最新Linux 5.2.5内核 Linux 5.2的Ubuntu主线内核包最终可以在32位和64位操作系统中下载和安装. 由于构建失败,Linux ...
- linux ./ 执行run文件,如何在Ubuntu中执行.bin和.run文件
在解释如何在Ubuntu上执行.bin和.run文件之前,让我们首先定义这些文件扩展名到底是什么: Bin档:Ubuntu中的Binary或BIN文件指的是安装软件包,其中大多数是self-extra ...
最新文章
- php加密姆巴佩浪费时,白给都不要?姆巴佩浪费三次良机!年轻人后浪太紧张?...
- 三种会计科目表:运营会计科目表、国家会计科目表、集团会计科目表
- Table options do not contain an option key ‘connector‘ for discovering a connector
- java中异常+连接重置_是什么导致我的java.nett.ocketException:连接重置?
- pthread_detach()与pthread_join的区别?
- js的tree数组对象扁平化思否_JavaScript数组_二维数组_三维数组(二十五)
- Flowable官方指定中国社区成立了
- Zabbix Server 5.2安装教程
- 怎么用计算机打印出东西,打印东西怎么打印出来
- mysql 取月份天数_mysql 之 获取指定月份天数和指定月份上月天数
- linux tpp模式,tpp 'exec'命令任意代码执行漏洞
- 重温数据结构(C语言版)(第二版)
- 如何在wince下添加和删除驱动(作者:wogoyixikexie@gliet)
- 前端自学第四天-总结
- django restful mysql_如何用Django和restful搭建api接口服务
- [战略]武科大IT交流群-群目标和具体措施-V1.0
- Windows系统的【Windows照片查看器】没有了
- 卡尔曼滤波,最最容易理解的讲解.找遍网上就这篇看懂了.
- class文件常量池中字符串类 urf8格的存储格式
- 星淘惠:亚马逊新品上新推广方法,全知道
热门文章
- Microsoft Visual C++ 14.0 is required. Get it with “Microsoft Visual C++ Build Tools解决方案
- styled-components解决全局样式‘injectGlobal‘ 废除的问题
- 在Ubuntu下解决E: 无法对目录 /var/lib/apt/lists/ 加锁的问题
- vs调试程序缺少 msvcp140d.dll 解决方法
- 如何使用命令行中的“message”和“description”进行更改? [重复]
- Pandas中map,applymap和apply方法之间的区别
- 将功能绑定到Twitter Bootstrap Modal关闭
- 基于BootStrap 4.x 中的Flex 实现各种布局
- 一个使用react native实现的短视频APP
- 学习嵌入式系统需要具备的条件、方法及步骤