vSphere虚拟机

    技术2022-07-11  115

    现在准备搭一个测试集群环境,一台登录节点,两台计算节点,并且实现三台虚拟机SSH免密登录,写一个shell脚本。

    虚拟机跑docker,这个集群是部门和CAE事业部共同使用,用的vSphere。

    现在相当于测试阶段,摸石头过河,成功之后再在单位服务器v3集群上部署。

    把一些操作记录到博客里边。

    理论:

    为什么要用vSphere这款产品?

    在vSphere这款产品出现之前,服务器的架构是这样的:

    就是一台服务器上面只能安装一个系统,如果你将一台服务器安装成了windows系统,它只用了10%左右的资源,那么剩下的资源也不能给其他系统使用,因为一台服务器只有一个系统。如果这台服务器是浏览器服务器,再需要一台客户端服务器,那么你就只能再去买服务器。这样一来就造成了资源的极大浪费和成本的提高。

    vSphere出现之后,服务器的架构:

    我们可以看到底层的服务器硬件,通过安装vSphere实现了对资源的分配,从而使得可以在同一台服务器上面建立多个不同的系统 实践过程中,用到ESXi和vCenter比较多,所以就着重介绍这两款产品。

    1,Vmware ESXi

    vSphere产品套件的核心就是虚拟机管理程序,作为一个虚拟化层次,它是产品线中的其他产品所依赖的基础。而这个虚拟机管理程序就是Vmware ESXi。它不依靠于Linux的服务控制台,所以就使得ESXi的体积超小,仅有130MB。它是以VMkernel为虚拟化进程基础的。VMkernel提供CPU调度,内存管理和虚拟交换数据处理,从而管理虚拟机对低层物理硬件的访问。

    ESXi Host架构示意图:

    2,vSphere vCenter

    当服务器越来越多,ESXi主机越来越多的时候,对在它上面的虚拟机管理就是一个问题。所以vCenter作为集中管理这些虚拟机的角色出现了。一张图足以说明一切 vCenter Server可以配置和管理虚拟机,比如创建虚拟机模板,定制虚拟机,虚拟机快速分配与部署。除此之外,还提供了如vSphere vMotion,vSphere分布式资源调度器(DRS)等特性。 既然提到了特性,就来提一下vSphere vMotion和vSphere DRS的特性

    3,vSphere vMotion与vSphere DRS简单介绍 特性说明vSphere vMotion也称动态迁移,允许管理员将一台正在运行的虚拟机从一台物理主机迁移到另一台物理主机上,而不必关闭虚拟机。着重于虚拟机方面vSphere Storage vMotion能够在保持物理服务器的CPU与内存不变前提下,在虚拟机正在运行时就迁移虚拟机存储。着重于虚拟机存储方面vSphere DRS通过vMotion可以看出,如果需要迁移虚拟机需要人工操作,手动触发事件。如果能够让它自动化,岂不是更好?DRS就是这样的解决方案。vSphere DRS使用vMotion在配置为集群的多个ESXI主机上实现自动化的资源使用分配。着重于虚拟机方面vSphere Storage DRS自动根据存储使用情况,来确定新创建的虚拟机的部署位置。着重于虚拟机存储方面 小结

    实践:

    虚拟机创建

    1、下载vSphere Client客户端

    网页访问ip :192.168.80.8 (单位内网)通过网页访问下载vSphere Client端

    安装客户端,登录用户:*******   密码:*******

     

    2、登录后创建虚拟机

    网络问题可能需要登录1—N次

    进入后

     

    3、在集群创建虚拟机

     

    4、按所提示步骤创建完成后,启动并安装系统

     

     

    A、打开虚拟机的控制台面板

     

    B、选择连接到本地磁盘的ISO镜像

     

    C、连接镜像需要一些时间,连接完成后

    Ctrl+Alt+delete重启 进入安装界面

     

    D、安装完成之后,出现以下命令,断开连接,重启虚拟机。

     

    5、安装完成后设置

    在虚拟机Setting—network里配置网络:

     

    补:查看rock头结点ip:cat /etc/sysconfig/network-scripts/ifcfg-eth1

    补:另可以安装net-tools查看ip

    sudo apt update

    sudo apt install net-tools

    ifconfig

    SSH 服务开启

    sudo apt-get install openssh-server

    使用 ps -e | grep ssh,

    如果只有 ssh-agent 表示还没启动,需要 /etc/init.d/ssh start;有sshd 说明已启动。

     

    6、克隆0节点虚拟机

    配置ip地址为:192.168.80.11

    7、安装docker

    由于apt官方库里的docker版本可能比较旧,所以先卸载可能存在的旧版本:

    sudo apt-get remove docker docker-engine docker-ce docker.io

    更新apt包索引:

    sudo apt-get update

    安装以下包以使apt可以通过HTTPS使用存储库(repository):

    sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common

    添加Docker官方的GPG密钥:

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

    使用下面的命令来设置stable存储库:

    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

    再更新一下apt包索引:

    sudo apt-get update

    安装最新版本的Docker CE:

    sudo apt-get install -y docker-ce

    查看docker服务是否启动:

    systemctl status docker

    若未启动,则启动docker服务:

    sudo systemctl start docker

    经典的hello world:

    sudo docker run hello-world

     

    有以上输出,表示docker安装成功.

     

     

    Docker 的基本用法

    搜索一个基本 image 使用 Docker 搜索命令:

    docker search ubuntu

    现在 base image到我们的服务中,使用命令:

    docker pull ubuntu

    现在,您可以通过使用命令来查看所有已下载的images:

    docker images

    Ubuntu 镜像从DockerHub/Docker Registry下载。下一步骤是创建从该镜像的容器。

    要创建容器,可以使用docker create 或 docker run

    docker create ubuntu:14.04

    docker create 命令会创建一个新的容器,但不会启动它。所以现在你需要使用运行命令:

    docker run -i -t ubuntu:14.04 /bin/bash

    此命令将创建并运行一个基于 Ubuntu14.04 镜像的容器,容器内并运行一个命令/bin/bash,您将在容器内自动运行命令。

    当你输入 Exit 命令退出容器时,容器也是停止运行,如果你想容器在后台运行需要在命令后面添加 -d 参数。

    docker run -i -t -d ubuntu:14.04 /bin/sh -c “while true; do echo hello world; sleep 1; done”

    /bin/sh -c “while true; do echo hello world; sleep 1; done” this is bash script to echo “hello word” forever.

    现在你可以看到容器在后台运行通过命令:

    docker ps

    如果你想从 bash 命令看日志结果,使用命令:

    docker logs NAMES/ContainerID

    怎样在后台访问容器 shell?这个命令将会连接你的容器 shell:

    docker exec -i -t NAMES/ContainerID

    你可以看到主机名和容器ID是相等的,这意味着你在容器shell内。当你在shell 上键入’exit`,会离开的shell,但容器仍在运行。

    你会经常使用的另一个命令是:

    docker stop NAME/ContainerID

    这将停止容器而不将其删除,这样你就可以用命令重新启动它:

    docker start NAME/ContainerID

    如果你想删除的容器,先停止它,然后用命令将其删除:

    docker rm NAME/ContainerID

     

    补充:ubuntu的一些

    1、配置国内的镜像 查看当前版本 lsb_release -c 进入/etc/apt/文件夹 cd /etc/apt/ 把源备份 sudo cp sources.list sources.list.backup 再编辑sources.list文件 sudo vi sources.list 清空所有内容后,粘贴为下面的内容,并保存 deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse 保存后,直接关掉编辑窗口,回到终端执行命令sudo apt-get update,更新获取 阿里软件源 提供的软件列表。再执行命令sudo apt-get upgrade,更新apt-get工具。 2、ubuntu可能需要安装的一些 更新软件源 sudo apt-get update 安装opengl sudo apt-get install build-essential     sudo apt-get install libgl1-mesa-dev    sudo apt-get install libglu1-mesa-dev  sudo apt-get install freeglut3-dev 安装vim sudo apt-get install vim 安装minicom sudo apt-get install minicom 安裝配置ssh sudo apt-get install openssh-client sudo apt-get install openssh-server sudo  /etc/init.d/ssh restart 安裝ncurses sudo apt-get install ncurse* 安裝git sudo apt-get install git 安裝makeinfo sudo apt-get install texinfo 安裝bison sudo apt-get install bison sudo apt-get install flex  安装gimp图形处理软件 sudo apt-get install gimp 安装配置tftp服务 sudo apt-get install tftpd-hpa sudo /etc/init.d/tftpd-hpa restart 安装c++库 sudo apt-get install lib32stdc++6 安装fastboot sudo apt-get install android-tools-fastboot 安装配置nfs sudo apt-get install nfs-kernel-server sudo /etc/init.d/nfs-kernel-server start 安装ctags sudo apt-get install ctags 安装wireshark sudo apt-get install wireshark 安装readline(为了sqlite3能够使用方向键) sudo apt-get -f install libreadline6-dev libreadline-dev 安装zlib sudo apt-get install zlib1g-dev sudo apt-get install  libx32z1-dev sudo apt-get install lib32z1 安装unrar sudo apt-get install  unrar    安装tree sudo apt install tree 安装lftp sudo apt-get install lftp 安装libmad sudo apt-get install libmad0-dev 安装7z工具 sudo apt-get install p7zip 安装gstreamer sudo apt-get install libgstreamer0.10-dev gstreamer-tools gstreamer0.10-tools gstreamer0.10-doc sudo apt-get install gstreamer0.10-plugins-base gstreamer0.10-plugins-good 

    配置ip和对应的主机名 vi /etc/hostname vi /etc/hosts

    权限 缺文件 配置 三大坑

    chown jiaxuan:jiaxuan .ssh/authorized_keys

    sudo chmod 600 ~/.ssh/authorized_keys  

     

    Processed: 0.010, SQL: 9