1. 准备系统镜像
-
官网:https://wiki.centos.org/Download
官网列出了很多国内镜像站地址
-
阿里云:https://mirrors.aliyun.com/centos-vault/
iso文件在每个版本目录的isos目录下,例如CentOS-7.6.1810的镜像在https://mirrors.aliyun.com/centos-vault/7.6.1810/isos目录下
2. 创建虚拟机
在选择好系统镜像之后,如果选择安装程序光盘映像文件
,会自动安装系统,虽然方便,但是会安装太多的服务和程序,并且会自动分区,所有我们选择稍后安装系统
来手动的安装系统。
系统版本 | 安装所需内存 | 启动所需内存 |
---|---|---|
CentOS-5 | 256M | 100M |
CentOS-6 | 最少512M,建议1GB+ | 最少512M,建议1GB+ |
CentOS-7 | 最少512M,建议1GB+ | 最少512M,建议1GB+ |
如果安装时内存小于最低推荐内存,可能会报错,另外建议安装的时候时候设置的大一些,例如2GB,后面根据本地资源使用情况再做调整
以下对网络类型进行简单介绍:
- NAT(Network Address Translation):网络地址转换,虚拟机通过宿主机进行上网和交换数据。在NAT模式下,虚拟机的网卡连接到宿主机的VMnet8上,宿主机中的VMware NAT Service服务充当了路由器的角色,负责将虚拟机发送到VMnet8的包进行地址转换之后再发送到实际的网络上,同理,将实际网络上返回的包进行地址转换后通过VMnet8发送给虚拟机,VMware DHCP Service负责为虚拟机分配分配IP地址。NAT网络适用于宿主机直连网线或者办公室的局域网环境,优点是不会于其他物理机的IP发生冲突,更换网络环境后,虚拟机的IP不会受到影响,推荐使用NAT模式。
- Bridged(桥接模式):虚拟机可以分配于宿主机相同网段的独立IP,所有网络功能几乎与真实机器完全一样,虚拟机直接连接到真实网络中,适用场景:局域网环境,优点:远程机器可以通过路由器访问到虚拟机,缺点:与宿主机通信都会走真实的路由器,且可能会造成IP冲突,更换网络环境后,所有虚拟机的IP都会受影响。
- Host-only(仅主机模式):虚拟机不能访问外网,只能与宿主机通信
3. 虚拟主机网络配置
4. 系统安装
4.1 进入系统安装引导界面
提示:虚拟机界面与Windows界面鼠标切换:Ctrl + Alt
4.2 修改网卡名为eth0的形式(与CentOS7以前保持一致)
-
为了统一企业中的多版本系统共存的环境,这里将网卡名称设置为"eth*"的形式,不使用CentOS7默认的特殊网卡命名规则,相关说明如下:
CentOS7以前的ethX数字编号的网卡命名方式往往不一定能准确对应网卡接口的物理顺序,CentOS7的网卡默认命名方式可以解决这一问题,但同时也为Linux系统管理员带来了额外的困扰,即无法兼容CentOS6的环境以及使用习惯,所以一般都还是会改回早期的eth0、eth1这样的网卡命名方式,具体修改内核参数组合如下,默认内核参数(biosdevname=0,net.ifnames=1),网卡名如"enp5s2",如果biosdevname=1,net.ifnames=0,网卡名如"em1",如果biosdevname=0,net.ifnames=0,网卡名如"eth0"(传统的方式)
所以在初始安装的时候,需要增加内核参数(也可以在系统安装之后再配置,参考https://blog.51cto.com/oldboy/1722101), 先选中
Install CentOS 7
,按Tab键进入内核参数配置界面,并手动输入以下参数,输入完成之后,按Enter即可进入下一步,随后也会看到按Enter的提示,等待即可
在系统安装好之后也可以修改网卡名称,操作如下:
# 1. 修改/etc/sysconfig/network-scripts/ifcfg-ens33文件
NAME=eth0
DEVICE=eth0
# 2. 网卡设备文件重命名
mv /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-eth0
# 3. 修改/etc/default/grub文件,添加如下内容
GRUB_CMDLINE_LINUX="biosdevname=0 net.ifnames=0 rhgb quiet"
# 4.系统重新加载grub配置文件
grub2-mkconfig -o /boot/grub2/grub.cfg
4.3 选择语言,建议选择英文
如果由于分辨率问题导致Continue按钮看不到,就需要进入全屏模式:
4.4 安装摘要页面(INSTALLATION SUMMARY)
4.5 配置系统时区和时间(DATE&TIME)
4.6 选择额外的语言支持(LANGUAGE SUPPORT)
4.7 系统软件包选择(SOFTWARE SELECTION)
根据经验,选择安装包时应该采用最小化原则,即不需要的或不确定是否需要的东西就不安装,即"Minimal Install",这样可以最大程度上确保系统安全。
如果安装过程中落下了部分组件,或者是其他伙伴安装时未选择,那么在安装完成之后可以通过如下方式补上未安装的组件:
补充安装"Compatibility Libraries"、"Base"和"Development tools"这3个组件的命令为:
yum group install "Compatibility libraries" "Base" "Development tools"
补充安装"Debugging Tools"、"Dial-up Networking Support"这两个组件的命令为:
yum group install "debugging Tools" "Dial-up Networking Support"
可以通过yum groupinfo [package-name]
来查看安装的包。
4.8 配置网络和主机名(NETWORK&HOSTNAME)
4.9 选择磁盘分区,配置分区(INSTALLATION DESTINATION)
Linux磁盘分区知识简介
- 磁盘在使用之前一般要先分区(相当于买的房要分几居一样)
- 磁盘分区有主分区、扩展分区和逻辑分区之分。一块磁盘最多可以有4个主分区,其中,一个主分区的位置可以用一个扩展分区来替换,在这个扩展分区内可以划分多个逻辑分区
- 如果规划的分区数量超过4个,则分区组合可为3primary(p)+1extend(e)或者2p+1e或1p+1e
- 一块磁盘最多只能有一个扩展分区,扩展分区不能直接使用,必须在扩展分区上划分逻辑分区,然后格式化(创建文件系统),之后才能存取数据或者装系统
磁盘分区命名以及编号方式
-
以设备名命名
在Linux系统中,磁盘设备对应于系统中的特殊文件,这些特殊的文件放在"/dev"目录中,不同的设备对应的设备名称具体如下:
- 系统的第一块IDE接口的硬盘名称为/dev/hda
- 系统的第二块IDE接口的硬盘名称为/dev/hdb
- 系统的第一块SCSI接口的硬盘名称为/dev/sda
- 系统的第二块SCSI接口的硬盘名称为/dev/sdb
-
使用数字编号
为了表示不同的分区,通常会使用数字进行编号,比如:
- 系统的第一块IDE接口的硬盘的第一个分区名称为/dev/hda1
- 系统的第一块IDE接口的硬盘的第五个分区名称为/dev/hda5
- 系统的第二块SCSI接口的硬盘的第一个分区名称/dev/sdb1
- 系统的第二块SCSI接口的硬盘的第五个分区名称/dev/sdb5
对分区进行编号时,数字1-4只能留给主分区或者扩展分区,在安装时由系统自行完成创建
点击"Done"进入分区设置页面:
说明:
LVM的意思是逻辑卷管理,它可以对设置好的分区大小进行动态调整,前提是所有的分区格式都需要事先做成LVM分区格式,即分区标号为8e,企业环境的分区一般都是按需求实现规划好的,极少有后续调整的需求,且LVM的性能和标准分区及硬件RAID卡相比还是有一定的差距的,因此,如果没有特殊需求,则不会选择LVM功能分区,而是使用更优秀的标准分区模式"Standard Partition"。
Linux系统对分区的基本要求
- 最好要有一个根(/)分区,用来存放系统文件及程序,大小在5GB以上
- 要有一个交换(swap)分区,它的作用相当于Windows的虚拟内存,swap分区的大小一般为物理内存容量的1.5倍(内存<8GB),当系统物理内存大于8GB时,swap分区配置8-16GB即可,太大无用,浪费磁盘空间。swap分区不是必须的,但是大多数情况下还是设置一下比较好,个别企业的数据库应用场景不分swap。
- /boot分区,这是Linux系统的引导分区,用于存放系统引导文件,如Linux内核等。对CentOS7而言,这个分区要比之前的版本大一点,可设置为1024MB,这个分区也不是必须的
企业生产场景中Linux的分区方案
-
方案一:针对网站集群架构中的某个节点服务器分区,该服务器上的数据包含多份(其他节点也有)且数据不太重要,建议的分区方式如下:
- /boot:512~1024MB
- /swap:当物理内存小于8GB时,设置为物理内存的1.5倍,当物理内存大于等于8GB时,分配8-16GB,建议给8GB就可以了
- /:硬盘剩余空间大小(/usr、/home、/var等分区和"/"共用一个分区,这就相当于是在Windows系统中只有一个C盘一样,所有数据和系统文件都存放在一起)
-
方案二:针对数据库及存储角色的服务器分区,该服务器的业务包含了大量重要的数据,建议分区方式如下:
- /boot:512~1024MB
- /swap:当物理内存小于8GB时,设置为物理内存的1.5倍,当物理内存大于等于8GB时,分配8-16GB,建议给8GB就可以了
- /:大小设置为50~200GB,只存放系统相关文件,网站等的业务数据不放在这里
- /data:剩余硬盘空间大小,存放数据库及存储服务等重要数据,当然,data这个名称可以自定义
方案二就是将重要数据单独分区,以便于备份和管理
-
方案三:针对大网站或者门户级别企业的服务器进行分区
- /boot:512~1024MB
- /swap:当物理内存小于8GB时,设置为物理内存的1.5倍,当物理内存大于等于8GB时,分配8-16GB,建议给8GB就可以了
- /:大小设置为50~200GB,只存放系统相关文件,网站等的业务数据不放在这里
保留剩余的磁盘空间,不再进行分区,将来分配给不同的使用部门,由他们自己根据需求再分,此种分区方案更加灵活,比较适合也业务线比较多且需求不确定的大企业使用
-
不推荐的分区方案:
手动对/usr、/home、/var等进行分区,这样分配了太多额外的分区,没有必要,导致管理麻烦,不推荐这种分区方式
本文使用方案一来分区:
- Mount Point:挂载点,这是Linux访问磁盘分区的入口,即如果要往/boot分区(/dev/sda1)里写入数据,则必须通过/boot入口来写入
- File System:文件系统类型,磁盘分区只有在设置了文件系统类型,格式化并挂载到挂载点之后,分区才能存放数据,常用的文件系统类型如下:
- xfs:一个优秀的文件系统类型,在CentOS7中作为默认的文件系统类型替换了ext4
- ext2/ext3/ext4:一种适合于Linux的文件系统类型,ext3多出了日志记录功能,因此系统恢复起来会更快速,ext4是ext3的升级,效率更高,CentOS6默认使用的是ext4
- physical volume(LVM):一种弹性调整文件系统大小的机制,即可以让文件系统变大或者变小,而无须改变原有文件数据的内容,功能不错,但性能会有所下降
- swap:内存交换空间,由于swap并不会使用到目录树的挂载,所以不需要指定挂载点
- vfat:同时支持Linux和Windows的文件系统类型,如果主机同时存在Windows与Linux两种操作系统,存在数据交换需求,就可以使用这种文件系统类型
点击"Done":
注意:检查一下是不是所有的分区(/、/boot、swap)都是Standard Partition。
4.10 系统安全相关
-
KDUMP:将宕机前系统内存异常信息进行保存
-
SECURITY POLICY:系统的安全策略配置
4.11 系统安装
点击"Begin Installation":
设置root用户的密码:
设置普通用户的密码:提示密码强度不够,要强制使用需要点击两次"Done"
然后等待系统安装好即可,出现Reboot按钮就是已经安装好了:
然后点击Reboot按钮进行重启,重启过程不需要任何操作,等待即可。
5. 系统安装后的操作与配置
5.1 登陆查看基本信息
登陆界面的信息:
-
版本信息:Kernel 3.10.0-957.el7.x86_64 on an x86_64
- 3:主版本号,有结构性变化时才更改
- 10:次版本号,新增功能后发生变化,一般奇数为测试版,偶数为开发版
- 0:表示对次版本的修订次数或补丁包数
- 957:编译次数,每次编译可对少数程序进行优化或修改
- el7:版本的特殊信息,有较大的随意性,el代表企业版Linux(pp代表测试版Linux,fc代表fedora core,rc代表候选版本)
- x86_64:64位操作系统
-
[root@node01]#
中的#:超级管理员root输入命令的提示符,在#号后面可以输入命令来管理系统,例如可以输入以下查看系统信息的命令:# 手动查看系统版本信息 # 如果有_64字样,就是64位操作系统 # 如果有i386/i686字样,就是32位操作系统 [root@node01]# uname -m x86_64 [root@node01]# uname -r 3.10.0-957.el7.x86_64 [root@node01]# uname -a Linux node01 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux # 以下命令如果有结果,就是64位操作系统 [root@node01]# ls -d /lib64 /lib64
5.2 检查网络配置
- ip address show,简写为ip a:查看IP信息
-
ip route:查看网关设置
-
查看DNS设置:cat /etc/resolv.conf
ping,Ctrl + C 结束ping
- clear/Ctrl + L,清除屏幕内容
5.3 系统无法联网的故障排除方法
-
检查IP、子网掩码、网关和DNS是否设置正确
替换此文件中的某一个配置,例如将ONBOOT=no改为ONBOOT=yes的命令为:
sed -i 's#ONBOOT=no#ONBOOT=yes#g' /etc/sysconfig/network-scripts/ifcfg-eth0
查看某个配置,例如查看ONBOOT配置的值的命令:
grep ONBOOT /etc/sysconfig/network-scripts/ifcfg-eth0
修改之后重启网卡:
systemctl restart network
-
查看Windows的VMware NAT服务是否开启
5.4 使用nmtui命令设置网卡
如果服务器的网络有问题,那么可能需要重新设置网卡信息,可以通过修改/etc/sysconfig/network-scripts/ifcfg-eth0
这个文件来修改配置,此处介绍一种使用UI界面设置的方法。
-
输入
nmtui
命令后回车 -
nmtui各种界面的操作
设置好之后依次选择"OK"、"back"、"quit"就可以保存并退到命令行
5.5 虚拟机保存快照
先关机:poweroff
-
然后创建快照