在我们实际的工作中一台物理机会分割成多台虚拟机,无论是测试环境还是生产环境都是部署在虚拟机上。应用服务则是在虚拟机上运行的,即使使用容器技术也是在虚拟机上面部署容器。


以下介绍如何快速初始化Linux虚拟机设置。


版本:CentOS7.5 +

安装过程略,建议选择最小安装。



基础组件安装

  • 修复主机名,笔者这里改成centos-linux

    hostnamectl set-hostname centos-linux
    
  • 查看Linux系统时区

    date -R
    

    +0800表示东八区,如果时区不正确则使用以下命令指定时区。

    ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    
  • 如果安装虚拟机时选择的是英文,则系统区域语言默认为LANG=en_US.UTF-8

    # 查看区域语言设置
    locale
    

    修改区域语言LANG="zh_CN.UTF-8"

    # 修改区域语言设置
    vi /etc/locale.conf
    

    然后重启系统使用 reboot 或者 shutdown -r now 命令均可。

    重启后再次查看区域语言为zh_CN

  • 备份yum源然后更换为阿里云的源,提升下载速度。

    # 备份源
    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
    
    # 下载阿里云CentOS.repo
    curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    
  • 安装常用开发运维组件包

    请根据自身需要选择性安装。

    	# 安装常用的开发组件
    yum groups install "Development Tools"
    
    # 安装wget下载工具
    yum install -y wget
    
    # 安装telnet工具
    yum install -y telnet
    
    # 安装vim编辑器
    yum install -y vim
    
    # 查询句柄占用
    yum install -y lsof
    
    # 安装文件树形图
    yum install -y tree
    
    # 安装net-tools
    yum install -y net-tools
    
    # 安装监控服务器(例如:iostat, mpstat, pidstat等等)
    yum install -y sysstat
    
    # 安装系统信息统计工具
    yum install -y dstat
    

    以上是常用组件的安装。因为设置阿里源速度相较之前快了很多。

  • 关闭防火墙

    # 查看防火墙状态
    systemctl status firewalld.service
    
    # 关闭防火墙
    systemctl stop firewalld.service
    
    # 撤销开机启动
    systemctl disable firewalld.service
    
  • 关闭安全增强

    # 设置SELinux的运行模式
    setenforce 0
    
    # 设置SELINUX=disabled
    sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
    
  • 系统升级

    # 
    yum -y update
    
  • 清理缓存

    # 清理本地缓存
    yum clean all
    
    # 清理插件缓存
    yum clean plugins
    
    # 构建缓存
    yum makecache
    
  • 重启

    # 重启系统:以下任意命令皆可。
    
    reboot
    
    shutdown -r now
    

注:目前完成基础组件的安装,建议备份虚拟机镜像。需要时可直接拷贝镜像副本,后续以此虚拟机为基础扩展不同需求。



Linux升级内核

某些应用对Linux内核有要求,低版本下运行可能会存在问题例如docker、k8s等。因此根据自身需要觉得是否升级Linux内核。

  • 查看版本号

    # 查看内核版本
    uname -r
    
    # 查看发行版本
    cat /etc/redhat-release
    

    目前系统内核版本为***3.10.0***。

  • 启用ELRepo仓库

    # 导入ELRepo仓库的公共密钥
    rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
    
    # 安装ELRepo仓库的yum源(CentOS 7)
    rpm -Uvh https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
    
  • 查看待升级版本

    yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
    

    这里观察到4.4根5.7两个版本,注意 kernel-ltkernel-ml 的区别。

    lt=long-term

    ml=mainline

    笔者选择kernel-lt版本,即4.4版本升级。

  • 升级Linux内核

    # 升级内核
    yum --enablerepo=elrepo-kernel install -y kernel-lt
    
  • 查看内核

    awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
    
  • 设置开机从新内核启动

    # 设置系统启动默认使用内核,0则是上图中的编号
    grub2-set-default 0 
    
  • 重启系统

    # 重启系统
    reboot
    
  • 查看内核版本

    # 查看内核版本
    uname -r
    

    重启系统内核版本为我们升级指定的版本。

至此完成Linux内核升级工作,备份虚拟机镜像。



JAVA环境安装

  • 查找是否安装过java如果存在则删除

    # 查找java
    which java
    

    提示:/usr/bin/which: no java in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)表示没有找到java运行组件。

    # 查找关键字java
    rpm -qa | grep java
    
    # 查找关键字jdk
    rpm -qa | grep jdk
    

    删除含有 open-jdk 字样的组件,如果按照笔者上述步骤安装理论上不存在。

    注:类似上面三个不要删除,切记!

    如果存在含有 open-jdk 字样的组件则使用以下命令删除。

    # 删除指定xxxxx组件
    rpm -e --nodeps xxxxx
    
  • 查找openjdk

    # 查找openjdk1.8
    yum search java-1.8.0-openjdk
    

    java-1.8.0-openjdk.x86_64java-1.8.0-openjdk-devel.x86_64 就是我们需要安装的组件。

  • 安装openjdk

    # 安装 JRE
    yum install -y java-1.8.0-openjdk.x86_64
    
    # 安装 JDK
    yum install -y java-1.8.0-openjdk-devel.x86_64
    

    安装完成目录结构如下所示——

    # 以树形结构展示文件层级
    tree -d . -L 2
    
  • 配置环境变量

    # 编辑profile
    vim /etc/profile
    

    添加如下配置

    export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.252.b09-2.el7_8.x86_64
    export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    export PATH=$PATH:$JAVA_HOME/bin
    

    保存profile完成java环境变量配置。

  • 验证openjdk配置

    java -version
    javac -version
    

至此完成Linux虚拟机下JAVA环境的搭建工作,备份虚拟机镜像。



Docker环境安装

注:以下内容建议在 基础组件的Linux虚拟机 前提下安装——

  • 清理之前安装的Docker

    yum remove docker \
    	docker-client \
    	docker-client-latest \
    	docker-common \
    	docker-latest \
    	docker-latest-logrotate \
    	docker-logrotate \
    	docker-selinux \
    	docker-engine-selinux \
    	docker-engine
    
  • 安装必要的工具

    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    
  • 添加软件源(阿里云)

    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
  • 安装docker-ce版

    yum install -y docker-ce
    
  • 安装docker compose(非必要)

    # 下载docker-compose
    curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    
    # 赋权
    chmod +x /usr/local/bin/docker-compose
    
  • 启动docker并设置开机启动

    # 启动docker
    systemctl start docker.service
    
    # 设置为开机启动
    systemctl enable doceker.service
    
  • 添加镜像加速

    例如阿里云镜,可以自行去阿里云创建镜像加速连接。

    # 编辑docker配置文件
    vim /etc/docker/daemon.json
    

    添加如下内容——

    # 可以添加多个镜像仓库例如阿里云。
    # 例如xxxxx替换为阿里云地址,可以自行去阿里云创建连接。
    {
      "registry-mirrors": ["https://xxxxx.mirror.aliyuncs.com/"]
    }
    
  • 测试docker

    # 测试docker
    docker run hello-world
    

至此完成Linux虚拟机下docker环境的搭建工作,备份虚拟机镜像。


目前已经拥有了四个Linux虚拟机副本,测试或生产环境使用只需要复制相应的虚拟机副本便可,节省了大量时间提高了生产效率。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐