虚拟机

创建虚拟机模板

创建虚拟机(CentOS-linux-8)

4核,单CPU-4核心 公开虚拟化,公开IOMMU,启用虚拟计数器 32GB内存 100GB磁盘,精简置备(各个虚拟机需要另外挂载数据盘) 添加ISO光盘-CentOS_8_2004

操作系统配置

安装无swap分区 root密码 s0u7h&iGIS%2020 gis密码 5ou7H$20.20#GiS

设置固定IP 172.20.20.200

基础软件

dnf install epel-release
# 基础软件源使用ustc镜像
sudo sed -e 's|^mirrorlist=|#mirrorlist=|g' \
        -e 's|^#baseurl=http://mirror.centos.org/$contentdir|baseurl=https://mirrors.ustc.edu.cn/centos|g' \
        -i.bak \
        /etc/yum.repos.d/CentOS-Base.repo \
        /etc/yum.repos.d/CentOS-Extras.repo \
        /etc/yum.repos.d/CentOS-AppStream.repo

# epel使用ustc镜像
sudo sed -e 's|^metalink=|#metalink=|g' \
        -e 's|^#baseurl=https\?://download.fedoraproject.org/pub/epel/|baseurl=https://mirrors.ustc.edu.cn/epel/|g' \
        -i.bak \
        /etc/yum.repos.d/epel.repo

# 安装基础软件
dnf update
dnf install vim ctags wget curl zip unzip lrzsz net-tools psmisc authconfig

配置欢迎信息

编辑/etc/profile

# 打印欢迎信息
if [ "$SSH_CONNECTION" != '' -a "$TERM" != "linux" ];then
        declare -a HOSTIP
        HOSTIP=`echo $SSH_CONNECTION |awk '{print $3}'`
        echo -e "\e[31mSouthGIS WHRDC Server\e[0m"
        echo -e "\e[31m${USER}@$HOSTIP:[${HOSTNAME%%.*}]\e[0m\n"
fi

安全

# 关闭selinux
# 编辑/etc/selinux/config
# SELINUX=disabled

# 关闭firewalld
systemctl disable firewalld
systemctl stop firewalld
# 编辑/etc/login.defs
PASS_MIN_LEN    8
authconfig --enablereqlower --enablerequpper --enablereqdigit --enablereqother --updateall
# --passminlen=8

vim配置

/etc/vimrc 最后添加 set nu

迁移初始化脚本

/init-vm.sh

#!/bin/bash


HOSTNAME=template.whrdc
IP=172.20.20.200

hostnamectl set-hostname $HOSTNAME

sed -i 's+IPADDR=.*+IPADDR="'$IP'"+g' /etc/sysconfig/network-scripts/ifcfg-ens192

其他

卸载光驱

制作快照

LVM

挂载新数据盘

pvcreate /dev/sdb
vgcreate vg1 /dev/sdb

# lvcreate -n 自定义逻辑卷名称 -L 要创建的逻辑卷的大小 VG名称
# lvcreate -n LVName -L 3G VGName
lvcreate -n lv1 -l 100%FREE vg1

mkfs.xfs /dev/vg1/lv1

mkdir /mnt/data
vim /etc/fstab

添加如下行

/dev/vg1/lv1        /mnt/data               xfs     defaults        0 0

挂载数据盘扩容

pvcreate /dev/sdc

# #扩展卷组vg_template,即将PV加入卷组(VG)。
vgextend vg1 /dev/sdc

# 扩容lv
lvextend -l +100%FREE /dev/vg1/lv1

# 扩大分区
resize2fs /dev/vg1/lv1
xfs_growfs /dev/vg1/lv1

df -h

NFS

服务安装

客户端使用

dnf install nfs-utils

临时访问

mkdir -p /mnt/nfs
mount -t nfs 172.20.20.190:/nfsdata /mnt/nfs

永久挂载

mkdir -p /mnt/nfs
vim /etc/fstab
# 添加如下行
# 172.20.20.190:/nfsdata /mnt/nfs nfs defaults 0 0

虚拟机配置

安装CentOS8

配置GPU环境

docker与NVIDIA Docker

# 安装依赖
dnf install -y yum-utils device-mapper-persistent-data lvm2

# 添加软件源信息
# centos 8
dnf config-manager --add-repo https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
# centos 7
yum-config-manager --add-repo https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo

# 更新并安装 Docker-CE
# 最新docker支持centos8,无需单独安装containerd.io
# dnf install -y http://mirrors.ustc.edu.cn/docker-ce/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.13-3.2.el7.x86_64.rpm
# dnf install -y docker-ce
dnf install -y docker-ce docker-ce-cli containerd.io

# 开启Docker服务
systemctl restart docker
# 修改 /etc/docker/daemon.json 文件并添加上 registry-mirrors 键值。
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn/"]
}
{
  "registry-mirrors": ["https://registry.docker-cn.com"]
}

# 重新启动 dockerd:
systemctl restart docker
systemctl enable docker

# 安装docker-compose(仅x86_64)
curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

# 安装NVIDIA-Docker

distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.repo

dnf install -y nvidia-container-toolkit
systemctl restart docker

#### Test nvidia-smi with the latest official CUDA image
docker run --gpus all nvidia/cuda:10.2-base nvidia-smi

镜像

docker

conda

pypi

debian

ubuntu

centos

maven

npm