标签 linux 下的文章

什么是VMware vSphere?

VMware vSphere不是特定的产品或软件。VMware vSphere是整个VMware套件的商业名称。VMware vSphere堆栈包括虚拟化,管理和界面层。VMware vSphere的两个核心组件是ESXi服务器和vCenter Server。ESXi是hypervsior,您可以在其中创建和运行虚拟机和虚拟设备。vCenter Server是用于管理网络中连接的多个ESXi主机和池主机资源的服务。我希望这个简单的信息能够从“什么是VMware vSphere”这个问题中清除您的想法。与其他虚拟机管理程序(如Microsoft Hyper-v和Citrix Xen Server)相比,VMware vSphere是虚拟化行业的主人。

什么是VMware ESXi?

VMware ESXi 是 VMware 的裸机虚拟机管理程序。VMware ESXi是以ISO形式提供的软件,可直接安装在物理硬件上。ESXi安装占用空间小,大小为144 MB。VMWare ESXi允许您在其中创建多个虚拟机,以在单个物理硬件中运行多个操作系统,如windows,linux,solaris,macOS等。它使您能够在虚拟机之上运行工作负载,从而可以整合多个物理硬件,从而将工作负载运行到更少的物理硬件中。

tn-vsphere-overview-hypervisor.jpg

什么是VMware vCenter Server?

VMware vCenter是帮助您集中管理整个VMware虚拟化基础架构的软件。vCenter可以将大约数千个ESXi主机添加到清单中,从而可以管理多个ESXi主机以及ESXi主机上运行的虚拟机。vCenter Server提供了许多vSphere功能,例如VMware DRS,VMware HA(高可用性),VMware vMotion,VMware容错,虚拟机模板,VM克隆等。

arquitecturacenter.jpg

VMware vCenter可以安装在Windows上,也可以通过基于Linux的vCenter(称为vCenter Server Appliance)安装。最近在vSphere 6.5上从SUSE切换到Photon OS(VMware的操作系统)。了解基于Windows的vCenter Server和vCenter Server设备之间的区别。 您需要具有外部数据库(如Microsoft SQL Server,Oracle等)或嵌入式数据库(如PostgreSQL)才能安装vCenter Server。在Microsoft SQL Server Express版本是VMware vCenter Server的嵌入式数据库之前,PostgreSQL从vSphere 6.0成为嵌入式数据库。vCenter Server数据库存储有关虚拟基础架构清单对象的信息,例如ESXi主机信息,虚拟机信息以及性能数据。

一. Multipass 是什么?

Multipass 是一个轻量级 Linux 虚拟机命令行管理工具,支持 Linux、Windows 与 macOS。

二. 为什么要用 Multipass

  1. 能够以最小的成本和资源在本地快速搭建具备完整 Ubuntu 功能小型虚拟机集群(如测试 K8s各类特性、数据库小集群等)
  2. 可以方便快速的做各类 Linux 试验,而不用担心把系统搞坏,重建一个新系统只要几分钟
  3. 实例通过命令行管理,对开发非常友好,每个实例IP固定

三. 如何安装

安装方法

四. 功能介绍

可在 Multipass 官网 查看详细使用文档。

$ multipass help

用法: multipass [options] <command>
创建, 控制和连接 Ubuntu 实例。

multipass 命令行工具, 用于管理 ubuntu 实例。

参数:
  -h, --help     查看本帮助内容
  -v, --verbose  增加日志显示的详细程度。 通过在短参数中增加 'v' 来获取更多日志信息
                 最多支持4个等级,如: -vvvv。

可用的命令:
  delete    删除实例
  exec      在实例中执行命令
  find      查找并列出可用于创建实例的镜像
  get       获取某个配置项
  help      查看帮助
  info      查看实例信息
  launch    创建并启动实例
  list      列出所有实例
  mount     挂载文件夹到实例
  purge     清除已删除的实例
  recover   恢复已删除的实例
  restart   重启实例
  set       设置某个配置项
  shell     通过 shell 连接实例
  start     启动实例
  stop      停止实例
  suspend   挂起实例
  transfer  在本机和实例之间传输文件
  umount    移除实例中挂载的文件夹
  version   查看版本号

五. 常见问题(以 MacOS 为例)

问题一:最开始设置的内存或 CPU 数量小了,想扩容,怎么办?

multipass 通过 /var/root/Library/Application Support/multipassd/multipassd-vm-instances.json 中的配置来管理实例,可直接在这个配置文件中修改:

mem_size 来增加或减少内存
num_cores 来增加或减少CPU核心数

修改之前需要先停止 multipass 的进程,原因是 multipass 会在被关闭的时候将各个实例的状态写入到配置文件,所以在没有关闭 multipass 进程的时候修改配置文件,会被覆盖。

# 停止 multipassd 进程
sudo launchctl unload /Library/LaunchDaemons/com.canonical.multipassd.plist

# 编辑 /var/root/Library/Application Support/multipassd/multipassd-vm-instances.json 文件
# 需要 root 权限

# 重新启动 multipassd 进程
sudo launchctl load /Library/LaunchDaemons/com.canonical.multipassd.plist

问题二:电脑意外关机,无法启动实例,怎么办?

实例的启动关闭状态也维护在 /var/root/Library/Application Support/multipassd/multipassd-vm-instances.json 文件中的 state 字段,当电脑意外关机,state 字段不会被正确的维护,导致无法启动或关闭实例,这时候,可以先停止 multipassd 进程,然后手动到配置文件中修改 state 为 0,即关机状态,保存配置文件,并启动 multipassd 实例即可,这时候就可以正常启动各个实例了。

问题三:能安装 Cent OS 实例么?

暂时不能,该工具为 Ubuntu 背后的公司 Canonical 开发,目前仅支持 Ubuntu 系统。

问题四:如果在实例之间传递文件?

最简单的方式是通过挂载相同的文件夹到不同的实例中来共享文件。

参考

  1. multipass 官网

EPEL(Extra Packages for Enterprise Linux)是由Fedora Special Interest Group 维护的 Enterprise Linux(RHEL、CentOS)中经常用到的包。

What is Extra Packages for Enterprise Linux (or EPEL)?

Extra Packages for Enterprise Linux (or EPEL) is a Fedora Special Interest Group that creates, maintains, and manages a high quality set of additional packages for Enterprise Linux, including, but not limited to, Red Hat Enterprise Linux (RHEL), CentOS and Scientific Linux (SL), Oracle Linux (OL).

EPEL packages are usually based on their Fedora counterparts and will never conflict with or replace packages in the base Enterprise Linux distributions. EPEL uses much of the same infrastructure as Fedora, including buildsystem, bugzilla instance, updates manager, mirror manager and more.

Learn more about EPEL in the following pages:

Quickstart

You may retrieve signed binary configuration files from one the above two links (varying by the major release number of the installation target machine). They may be automatically installed by root thus:

  • RHEL/CentOS 7:

yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

  • on RHEL 7 it is recommended to also enable the optional, extras, and HA repositories since EPEL packages may depend on packages from these repositories:
# subscription-manager repos --enable "rhel--optional-rpms" --enable "rhel--extras-rpms" --enable "rhel-ha-for-rhel-*-server-rpms"
  • RHEL/CentOS 8:
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
  • CentOS Stream 8:
dnf install epel-release
  • on RHEL 8 it is required to also enable the codeready-builder-for-rhel-8-*-rpms repository since EPEL packages may depend on packages from it:
subscription-manager repos --enable "codeready-builder-for-rhel-8-$(arch)-rpms"
  • on CentOS 8 it is recommended to also enable the powertools repository since EPEL packages may depend on packages from it:
dnf config-manager --set-enabled powertools

https://docs.fedoraproject.org/zh_CN/epel/#_quickstart

Linux系统,在服务器端的大多数常用软件都有足够多的使用者,所以就足够稳定,由于它在服务器端市场占有率远高于微软,所以服务器端就是比微软稳定,很正常的事。在桌面端,市场占用率远低于微软,不稳定也是自然的。为什么Linux下命令行程序往往又好用又稳定?是因为用户喜欢装逼吗?不是,因为命令行程序是服务器端跟桌面端通用的,而服务器端程序经过了足够多用户的使用,经过了足够的反馈开发迭代,所以稳定。而图形界面只有桌面用户用,桌面占有率那么低,这些程序往往缺乏足够的测试人力也缺乏足够的开发维护人力,所以并不会非常稳定。那么,你要想体验Linux稳定,怎么办?答案就是只使用市场占有率高,用户量大,因而获得了充分测试的软件,这就稳定了。比方说只使用服务器端。或者桌面端只使用最常用的那些,例如终端仿真器,浏览器,输入法,gcc编译器之类,肯定是稳定的。你看我就用浏览器,输入法,xterm,screen,编程ide,vim,以及一堆命令行的东西,稳定得很啊,六个月才重启一次电脑,重启的那一次还是因为ubuntu升级。

作者:pansz
链接:https://www.zhihu.com/question/301581684/answer/547761587
来源:知乎 著作权归作者所有。

windows就像租个精装修的房子,不允许自己重新装修,只能做些小的装饰;可以从商店买家具,可以在家里雇保姆和保镖,但有时候他们会“监守自盗”,三位数,百毒,几大家子一拥而上,让你的房子变得拥挤;在辞退他们的时侯,他们还会死皮赖脸的耍赖。

ubuntu这些发行版好像直接买个房子,自己可以随意装修;建筑工人能随时听从你的指令,把房子装修成想要的样子。

arch好像自己买个地基(内核),找建材提供商(pacman)拿些材料(预编译好的二进制包),在建筑工人的帮助下盖自己独一无二的房子;

gentoo好像自己打个地基,在房子不会塌的情况下想怎么打就怎么打,买些黏土(源代码)自己烧砖,烧砖的配方(USE)官方给提供,用特质的砖块,在建筑工人(portage)帮助下盖更为牢固,砖块契合严密,且有自己特色的房子;

lfs?买本《如何盖房子》,自己去各个山头挖土烧砖,先堆起来个新砖窑(临时系统),然后在砖窑再烧一遍砖用来盖房子,图纸要按照书上的理论自己画,整个过程中没有建筑工人帮忙,要了血命了。

v2-e8043a65d3450a009b3d9a06ca6b06f1_hd.jpg

作者:JerryDing
链接:https://www.zhihu.com/question/267941005/answer/564103434
来源:知乎

在安装 Laravel homestead 虚拟机的时候,由于神秘的原因,直接添加 box 实在太慢,中途失败的几率又太大。所以,在国内,非常推荐大家都直接使用本地 box 的方式安装 Laravel homestead:

1.下载 homestead.box 文件

你可以使用迅雷或其他的方式下载下面的 box

https://vagrantcloud.com/laravel/boxes/homestead/versions/6.4.0/providers/parallels.box

注意: 这里的版本号 6.4.0, 如果你使用其他的版本,请相对更改;还有就是,上面的链接是 parallels 作为 provider 的。你也可以将 parallels 换成 vmware_desktop、virtualbox、hyperv 中的一个。

2.本地方式添加 box

在命令行中执行下面的命令:

vagrant box add laravel/homestead ~/Downloads/virtualbox.box

注意后面的路径 ~/Downloads/virtualbox.box ,注意修改相对应的路径!
如果你是 windows 用户,路径形式差不多是这样:file:///c:/users/username/downloads/virtualbox.box

添加成功之后,一定不要急着执行 vagrant up

3.修改版本号

mac 用户需要来到 /.vagrant.d/boxes/laravel-VAGRANTSLASH-homestead 目录:
windows 用户对应的目录大概是 c:/users/username/.vagrant.d/boxes/laravel-VAGRANTSLASH-homestead

首先进入该目录添加一个名为 metadata_url 的文件,里面只写上:

https://vagrantcloud.com/laravel/homestead

然后把看到的 0 或 0.0 这个目录修改为你的 box 版本号,比如这里的就是第一步的 6.4.0

homestead.jpg

4.执行 vagrant up

 _                               _                 _ 
| |                             | |               | |
| |__   ___  _ __ ___   ___  ___| |_ ___  __ _  __| |
| '_ \ / _ \| '_ ` _ \ / _ \/ __| __/ _ \/ _` |/ _` |
| | | | (_) | | | | | |  __/\__ \ ||  __/ (_| | (_| |
|_| |_|\___/|_| |_| |_|\___||___/\__\___|\__,_|\__,_|


0 packages can be updated.
0 updates are security updates.


vagrant@homestead:~$ ls