如何下载并使用运行在 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 云镜像相关推荐

  1. linux kvm百度云,容器与云|如何在 Ubuntu Linux 上使用 KVM 云镜像

    如何下载并使用运行在 Ubuntu Linux 服务器上的 KVM 云镜像?如何在 Ubuntu Linux 16.04 LTS 服务器上无需完整安装即可创建虚拟机?如何在 Ubuntu Linux ...

  2. linux mint 安装内核,如何在Ubuntu, Linux Mint中安装Linux Kernel 4.18

    Linus Torvalds终于在12日下午宣布发布Linux Kernel 4.18. 他在lkml.org写道: 这是一个非常平静的一周,可以说我上周可以按时发布,但我们确实有一些小的更新. 主要 ...

  3. 中兴linux系统卸载软件,如何在Ubuntu Linux上配置ZTA中兴认证客户端

    前两天兴起,通宵看了些Linux的基本介绍,然后装了Ubuntu 10.04. Ubuntu整个系统让人很满意,界面简洁舒服,运行速度较比Win 7稍快.可是,装好后的难题马上就出来了: 学校的宽带网 ...

  4. linux erlang版本,技术|如何在 Ubuntu Linux 上安装最新的 Erlang

    Erlang 是一种用于构建大规模可扩展实时系统的函数式编程语言.Erlang 最初是由 爱立信 创建的专有软件,后来被开源. Erlang 在 Ubuntu 的 Universe 仓库 中可用.启用 ...

  5. linux面板字体颜色,如何在Ubuntu Linux中为Gnome面板自定义字体和颜色

    本周早些时候,我们向您展示如何使侏儒面板完全透明的 ,但你真的需要一些定制的字体和颜色,使效果更好地工作. 这里是如何做到这一点. 本文是如何定制Ubuntu桌面的多部分系列的第一部分,由How-To ...

  6. 如何在Ubuntu/CentOS上安装Linux内核4.0

    如何在Ubuntu/CentOS上安装Linux内核4.0 大家好,今天我们学习一下如何从Elrepo或者源代码来安装最新的Linux内核4.0.代号为'Hurr durr I'm a sheep'的 ...

  7. 怎么在linux上装java,如何在Ubuntu Linux上安装Java

    介绍 如何在Ubuntu Linux上安装Java?尽管对于一个经验丰富的Linux系统管理员来说,这个主题是一个很容易理解的话题,但是对于初学者而言,在我需要什么版本的Java,如何安装它或如何在多 ...

  8. mint linux更新内核,如何在Ubuntu/Linux Mint中安装最新Linux 5.2.5内核

    原标题:如何在Ubuntu/Linux Mint中安装最新Linux 5.2.5内核 Linux 5.2的Ubuntu主线内核包最终可以在32位和64位操作系统中下载和安装. 由于构建失败,Linux ...

  9. linux ./ 执行run文件,如何在Ubuntu中执行.bin和.run文件

    在解释如何在Ubuntu上执行.bin和.run文件之前,让我们首先定义这些文件扩展名到底是什么: Bin档:Ubuntu中的Binary或BIN文件指的是安装软件包,其中大多数是self-extra ...

最新文章

  1. php加密姆巴佩浪费时,白给都不要?姆巴佩浪费三次良机!年轻人后浪太紧张?...
  2. 三种会计科目表:运营会计科目表、国家会计科目表、集团会计科目表
  3. Table options do not contain an option key ‘connector‘ for discovering a connector
  4. java中异常+连接重置_是什么导致我的java.nett.ocketException:连接重置?
  5. pthread_detach()与pthread_join的区别?
  6. js的tree数组对象扁平化思否_JavaScript数组_二维数组_三维数组(二十五)
  7. Flowable官方指定中国社区成立了
  8. Zabbix Server 5.2安装教程
  9. 怎么用计算机打印出东西,打印东西怎么打印出来
  10. mysql 取月份天数_mysql 之 获取指定月份天数和指定月份上月天数
  11. linux tpp模式,tpp 'exec'命令任意代码执行漏洞
  12. 重温数据结构(C语言版)(第二版)
  13. 如何在wince下添加和删除驱动(作者:wogoyixikexie@gliet)
  14. 前端自学第四天-总结
  15. django restful mysql_如何用Django和restful搭建api接口服务
  16. [战略]武科大IT交流群-群目标和具体措施-V1.0
  17. Windows系统的【Windows照片查看器】没有了
  18. 卡尔曼滤波,最最容易理解的讲解.找遍网上就这篇看懂了.
  19. class文件常量池中字符串类 urf8格的存储格式
  20. 星淘惠:亚马逊新品上新推广方法,全知道

热门文章

  1. Microsoft Visual C++ 14.0 is required. Get it with “Microsoft Visual C++ Build Tools解决方案
  2. styled-components解决全局样式‘injectGlobal‘ 废除的问题
  3. 在Ubuntu下解决E: 无法对目录 /var/lib/apt/lists/ 加锁的问题
  4. vs调试程序缺少 msvcp140d.dll 解决方法
  5. 如何使用命令行中的“message”和“description”进行更改? [重复]
  6. Pandas中map,applymap和apply方法之间的区别
  7. 将功能绑定到Twitter Bootstrap Modal关闭
  8. 基于BootStrap 4.x 中的Flex 实现各种布局
  9. 一个使用react native实现的短视频APP
  10. 学习嵌入式系统需要具备的条件、方法及步骤