现在准备搭一个测试集群环境,一台登录节点,两台计算节点,并且实现三台虚拟机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安装成功.
搜索一个基本 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
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