第2章 企业级CentOS7.6操作系统的安装
2.1 下载CentOS系统ISO镜像
2.1.1 下载CentOS系统ISO镜像说明
要安装CentOS系统,就必须要有CentOS系统软件安装程序,可以通过浏览器访问CentOS的官方站点http://www.centos.org ,然后依次选择“GET CENTOS“→”More download choices”链接,点击进入后即可下载。由于国外站点下载较慢,因此,推荐直接选择国内的高速镜像站点下载64位的系统版本(32位系统已经退出历史舞台),以下是64位的下载链接。
https://mirrors.aliyun.com/centos/7.6.1810/isos/x86_64/
下载完成后,得到的是CentOS7操作系统的ISO系统软件安装程序,文件为DVD格式(早期还有CD格式),扩展名为.iso,软件程序文件名见表2-1。
2.1.2 下载后有关ISO镜像的使用说明
正如前面提到的,扩展名为“.iso”格式的操作系统文件就是所谓的镜像文件。这种镜像文件一般是用来刻录光盘的,文件占用空间比较大,单个DVD文件的大小可能会高达4GB。需要说明的是,这种ISO镜像文件不能直接以数据格式刻录成为DVD,这样是无法实现引导安装系统的!必须使用刻录程序的镜像刻录功能,将ISO文件以“镜像文件格式”刻录成CD/DVD盘才行。
那么,在不同的场景中,应该如何使用ISO镜像呢?这里给大家列举出几个不同场景下的使用建议。
- 如果是单机物理服务器装系统,则可能需要购买空白DVD光盘刻录成DVD。不过,目前老男孩教学推荐的选择是制作U盘镜像引导安装。
- 如果是在VMware/virtualbox等虚拟软件环境下学习,则不需要刻录成DVD光盘或制作成U盘。在创建完虚拟机后,直接指定ISO镜像文件路径到虚拟机的光驱,即可实现引导安装系统。
- 如果是服务器数量比较多的工作环境,那么一般也不需要刻录成DVD光盘或制作U盘,大多数都会通过ISO镜像部署无人值守网络批量安装系统服务。
2.1.3 为什么企业环境要选择64位操作系统?
目前,绝大多数企业生产环境使用的都是64位CentOS系统,CentOS7则彻底放弃了32位系统。那么,32位与64位系统到底有什么不同呢?为什么清一色选择64位系统呢?这就要从32位与64位系统的定位和区别讲起。
区别之一:当初设计时的定位不同。64位操作系统的设计定位是:满足机械设计和分析、三维动画、视频编辑和创作,以及科学计算和高性能计算应用程序等领域。这些应用领域的共同特点就是需要有大量的系统内存和浮点性能。简单地说,64位操作系统则是为高科技人员使用本行业特殊软件的运行平台而设计的。而32位操作系统则是为普通用户设计的。
区别之二:安装要求配置不同。64位操作系统只能安装在64位电脑上(CPU必须是64位的),并且只在针对64位的软件时才能发挥其最佳性能。32位操作系统既可以安装在32位(CPU是32位的)电脑上,也可以安装在64位(CPU是64位的)电脑上。当然,此时32位的操作系统是无法发挥64位硬件性能的。
区别之三:运算速度不同。64位CPU GPRs(General-Purpose Registers,通用寄存器)的数据宽度为64位,64位指令集可以运行64位数据指令,也就是说处理器一次可以提取64位数据(只要两个指令,一次提取8字节的数据),比32位提高了一倍(32位需要四个指令,一次只能提取4字节的数据),性能会得到相应的提升。
区别之四:寻址能力不同。64位处理器的优势还体现在操作系统对内存的控制上。由于地址使用的是特殊整数,因此一个ALU(算术逻辑运算器)和寄存器可以处理更大的整数,也就是更大的地址。比如,Windows 7 x64 Edition支持多达128 GB的物理内存和16 TB的虚拟内存,而32位的CPU和操作系统理论上最大只可支持4GB的内存,实际上也就是3.2GB左右的内存,当然32位系统是可以通过扩展来支持大内存的,扩展所采用的是PAE技术。
2.1.4 如何区分已安装的系统是32位还是64位?
在 Linux 系统中查看系统版本为32位还是64位的方法如下。
方法1,标准的查看方法。命令及输出如下:
[root@www ~]# uname -m
x86_64
上述输出结果中带有x86_64字样,说明该系统为64位。再来看看下面的命令及输出:
[oldboy@web ~]$ uname -a
Linux web 2.6.18-164.el5 #1 SMP Thu Sep 3 03:33:56 EDT 2009 i686 i686 i386 GNU/Linux
上述输出结果中带有i386/i686字样,说明该系统为32位。
还可以通过命令uname -a查看更多信息。
方法2为网友提供的方法。命令及输出如下:
[root@www ~]# ls -d /lib64
/lib64
输出结果中存在lib64目录,则表示该系统为64位的系统。
2.1.5 在学习与工作中如何选择操作系统
1.工作场景
当前,绝大多数服务器厂商如Dell、HP、IBM的服务器都是既支持32位又支持64位系统的。在老男孩的生产场景中,为了发挥硬件的最佳性能,尤其是对大内存的利用率,6年前就已经是100%使用64位操作系统了。目前,在正式的生产环境中使用32位系统的企业已经寥寥无几了,甚至绝大多数IT人员的笔记本电脑安装的Windows系统都是64位系统了。
2.学习场景
对于初学Linux的读者来说,使用32位或64位的系统都是可以的(两者会略有区别,但不是很大),但还是建议大家尽可能地使用64位的系统,以便与企业应用环境保持一致,这样才能提升学习效率与学习效果。笔者在工作及教学中发现,有部分硬件(相对较老)默认无法支持VMware等64位的虚拟化软件,个别初学者甚至在尽可能地调整电脑的BIOS设置及CPU虚拟化支持选项后,仍然无法支持VMware的64位虚拟能力,对于这样的硬件,就只能使用32位的系统了。虽然这对配置个别网络服务有一点影响,但其实用于学习问题不会太大,这个问题可以忽略不计。当然,如果手头宽裕,还是建议购买支持64位CPU虚拟化能力的电脑,以免为自己的学习增加障碍,新的主流电脑都是支持64位CPU虚拟化能力的。
有关调整电脑BIOS及CPU虚拟化选项的步骤,在第1章介绍安装虚拟化软件VMware的方法时就已经讲解过了,这里不再重复。
2.2 CentOS7.6操作系统的安装准备
2.2.1 单台物理服务器安装系统准备
对于单台物理服务器,在正式安装操作系统之前,需要首先确认以下两个问题,以便能够顺利安装系统。
- 服务器光驱和系统安装光盘(需要将ISO文件刻成DVD光盘)都可用。
- 服务器的各个硬件都能被CentOS7.6系统支持(当前市场上大多数品牌的服务器都已支持CentOS7.6)。
确认完毕后,就可以使用DVD光盘安装系统了,若考虑采用U盘安装的方式,则需要简单地制作U盘,请读者自行学习(参考http://blog.51cto.com/oldboy/1829907 )。
2.2.2 虚拟机学习安装系统准备
作为初学者,在安装CentOS7.6系统之前,通常会在Windows系统上事先安装好虚拟机软件,例如VMware,然后打开运行安装的虚拟机软件,选择创建一个虚拟机,并配置好硬件,最后找到与创建的这个虚拟机对应的虚拟光盘驱动器。准备就绪之后,就可以将CentOS系统的ISO镜像文件加载进来了。图2-1即为VMware虚拟机加载CentOS7.6 ISO镜像文件的界面。在该界面的右侧,将默认的物理光驱选项“使用物理驱动器”,改为使用ISO镜像文件选项“使用ISO映像文件”,然后点击右边的“浏览...”找到事先下载好的CentOS7.6镜像文件加载进来即可。
2.3 开始安装CentOS7.6操作系统
2.3.1 安装CentOS7.6操作系统过程
加载完CentOS7.6的ISO镜像文件后,开启/重启电脑或虚拟机,此时,系统会进行自检,自检完毕就会出现安装系统时的引导界面,60秒后自动启动,如图2-2所示。
1.选择系统引导方式
在如图2-2所示的引导界面中,我们可以看到共有3种引导方式,这3种方式对应的中英文含义具体见表2-2。
这其中,第一种(安装CentOS 7)和第三种(系统故障恢复)引导方式比较有用。
2.修改网卡名为eth0的形式(与CentOS7以前保持一致)
为了统一企业中的多版本系统共存的环境,这里将网卡名称设置为“eth*”的形式,不使用CentOS7默认的特殊网卡命名规则。所以在初始安装的时候,需要增加内核参数。
在如图2-2所示的界面中,按TAB键进入到如图2-3所示的内核参数配置界面,并手工输入如下参数,输入完毕后按回车键继续。
3.进入下一步安装界面
选择“Install CentOS 7”,即默认选项,然后按Enter(回车)键进入图形安装界面。这里为什么不是采用文本方式呢?因为从CentOS6开始就无法使用文本模式完全定制化安装了,即在文本模式下无法定制磁盘分区,这是CentOS6和7与之前各版本的大不同之处。因此,在安装CentOS7.6系统时,通常都选择图形安装。
在加载过程中,可以看到如图2-4所示的界面,从图2-4中我们可以清晰地看到系统内部的一些自检和加载相关设备等的操作。
最后进入如图2-6所示的界面,这里默认选择安装过程的语言显示为英语的“English”,然后点击“Continue”按钮继续。
4.进入到安装摘要页面(INSTALLATION SUMMARY)
进入图2-7所示的安装摘要页面拼接图,注意,这里是CentOS7与CentOS6区别较大的地方,CentOS6是一步步根据向导的提示进行安装,而CentOS7则是一个摘要平台页面,在这个摘要平台里,读者可以根据需要进行选择安装,图2-7中方框中的部分就是本次安装需要配置的选项。
5.配置系统时区和时间(DATE&TIME)
在如图2-7所示的界面中,点击“DATE&TIME”后,进入配置界面进行配置,具体配置过程请参见图2-8界面中的描述和标记,其中最关键的是时区的配置,其他可以暂时忽略,这些在安装好系统之后也都是可以随时更改的。
6.选择额外的语言支持(LANGUAGE SUPPORT)
同样在图2-7所示的界面中,点击“LANGUAGE SUPPORT”之后,可增加一个中文语言配置(保留默认英文语言的配置),具体配置过程请参见图2-9所示界面中的描述和标记,配置完点击左上角的“Done”按钮返回即可。
7.系统软件包选择(SOFTWARE SELECTION)
同样在图2-7所示的界面中,点击“SOFTWARE SELECTION”之后,选择左边的最小化安装选项,即“Minimal Install”,同时在右边的复选框中选择四个选项,具体配置过程请参见图2-10所示界面中的描述和标记,配置完点击左上角的“Done”按钮返回即可。
8.配置网络和主机名(NETWORK&HOSTNAME)
同样在如图2-7所示的界面中,点击“NETWORK&HOSTNAME”之后,激活右上角的网卡,变为ON,然后在右下角配置主机名为www,具体配置过程请参见图2-11界面中的描述和标记,配置完点击左上角的“Done”按钮返回即可。
左下角的“Host name”表示配置主机名。在对应的选框里,会有默认的localhost.localdomain主机名,将其删除,然后设置自己的主机名,这里采用“www”作为主机名。
9.选择磁盘设备,配置分区(INSTALLATION DESTINATION)
同样在如图2-7所示的界面中,点击“INSTALLATION DESTINATION”之后,在界面中勾选“Local Standard Disks”一栏下面的虚拟硬盘,然后选择下面的“I will configure partitioning”,具体配置过程请参见图2-12界面中的描述和标记,配置完点击左上角的“Done”按钮进行分区配置。
10.按企业生产标准定制磁盘分区
根据图2-12可知,当前电脑只有一块磁盘,设备名为sda(如果包含多块盘,则会显示sda、sdb、sdc等)。
进入如图2-13所示的磁盘分区界面,可以看见虚拟磁盘总大小是20GB,默认的分区是LVM,LVM的意思是逻辑卷管理,它可以对设置好的分区大小进行动态调整,前提是所有的分区格式都需要事先做成LVM格式,即分区标号为8e,企业环境的分区一般都是按需求事先规划好的,极少有后续调整的需求,且LVM的性能和标准分区及硬件RAID卡相比还是有一定的差距的,因此,如果没有特殊需求,则不会选择LVM功能分区。这里将LVM改为更优秀的标准分区模式“Standard Partition”。
关于磁盘分区这里就介绍这么多。下面我们继续介绍系统的安装操作。
11.开始增加分区
在图2-13中,将LVM改为标准分区模式“Standard Partition”,然后点击左下角的“+”号,在弹出的小框中,输入第一个分区挂载点/boot,大小分配为1024MB,如图2-14所示,然后点击“Add mount point”完成设置。
/boot分区的分区结果如图2-15所示,如果确认没有问题就点击“Done”按钮完成/boot分区的设置。
分完/boot分区之后,不要退出,继续点击“+”号,划分交换分区(swap),过程如图2-16所示。
分完swap分区之后,也不要退出,继续点击“+”号,再来划分根分区(/),过程如图2-17所示。
确定分区及设置无误后,即可点击左上角的“Done”按钮,并在如图2-19所示的界面中,点击右下角的接受改变“Accept Changes”按钮,返回完成分区设置后返回安装信息摘要界面。
最终,我们配置的选项就如图2-20中方框里的部分所示,其他部分可以忽略。
12.开始系统安装
在如图2-20所示的右下角点击“Begin Installation”进入开始安装的界面,如
图2-21所示,在安装过程中,我们可以为管理员root设置安全密码,当然也可以设置普通用户(这里省略),如图2-22所示。
最后就是漫长的等待过程,视硬件的好坏一般是5~20分钟即可完成安装,安装过程及完成安装图如图2-23和图2-24所示。
2.4 系统安装后的基本配置
2.4.1 重启系统过程中的引导过程介绍
系统安装结束后,取出安装使用的DVD系统盘(如果是虚拟机镜像文件,那么此时将会无法取出),按“Reboot”键重新启动系统,首先进入如图2-25所示的CentOS7开机菜单引导界面。
此时,选择默认选项,然后按下键盘的“回车键”,进入系统启动过程,如图2-26所示。
此时如果按下键盘的“Esc键”,可以查看系统引导过程的细节,如图2-27所示,动作一定要快,否则根本无法截图,瞬间就启动完成了,这是CentOS7并行启动的改进。
系统引导及程序服务加载完毕后,会出现登录界面,如图2-28所示。
图2-28中显示的www为主机名,login为登录提示。
2.4.2 登录系统
现在,光标定位在“login:”提示后面,然后输入root超级用户名,按Enter键,并按提示输入密码(注意密码是不显示的),过程如图2-29所示。
登录到系统后的界面如图2-30所示。
2.4.3 配置网卡设置网络联网
在2.3.1节的(8)配置网络和主机名(NETWORK&HOSTNAME)中,已经讲解过如何配置网卡了,如果读者的配置与本书图2-11配置网络和主机名所示的配置类似,主要是中间网卡的位置能够自动获取到信息,那么就应该可以联网了。如果读者已经在前面配置过了,那么这里可以忽略掉。
到这里,笔者的网卡信息已经配置好了,虚拟机网卡选择的是桥接模式,笔者的电脑里路由器开启了DHCP服务,所以在图2-31时就自动获取到了IP地址,如果读者没有获取到就需要手动配置IP地址了。
1.通过nmtui(类似于setup)命令设置网卡
1)在系统命令行下输入nmtui命令然后回车,如图2-32所示。
2)通过tab键及对应的键依次选择进入如下几个窗口,为了节省篇幅,笔者将几个操作进行了合并,并进行了排序,如图2-33和图2-34所示。
对于不知道如何为虚拟机设置IP地址的新手,可以参考读者个人电脑的IP设置。具体方法是:开始→运行→cmd→ipconfig /all,找到联网的网卡信息,这里笔者采用的无线网卡连接的是自家的路由器,前面章节讲解关于虚拟机建立的相关内容时,选择的是桥接网络模式,因此,虚拟机的配置与个人电脑除了IP不一致之外(但必须在同一个局域网里),其他网络配置一模一样。个人电脑网络信息如图2-35所示。
最后配置完成,依次点击“OK”、“back”、“quit”退到命令行,如图2-36所示。
2.系统无法联网的故障排除方法
1)首先要确认系统的安装方式:是虚拟机还是物理服务器。
如果是虚拟机,那么同时还要考虑虚拟机所在的宿主机的联网方式:如果宿主机采用的是直接拨号方式上网的(一般都不会),那么虚拟网卡的模式就选NAT模式;如果宿主机采用的是路由器局域网方式上网(比较常见),那么虚拟机的网卡选择bridged和NAT两种模式都可以。如果是物理服务器的话,那么直接配置就可以了。这里的内容请参考虚拟机桥接的配置。
2)如果系统安装方式检查无误,仍然不能上网,那么还需要继续确认网卡实际配置是否正确。
如果虚拟机是NAT模式,那么需要使用DHCP自动获取IP;如果是虚拟机bridged桥接模式,则需要根据虚拟机所在的宿主机联网方式(可以查看对比)设定IP、子网掩码及网关,更方便的方法还是使用DHCP获取IP。不管是采用bridged模式还是采用NAT模式,最好都手工指定DNS。
如果是物理服务器的话,则需要检查IP、子网掩码、网关和DNS等设置是否正确,可与局域网内其他可上网的机器一一进行对比,或者向网管咨询。
3)上面两类问题都排除后,就需要确认网卡的配置文件了。
使用nmtui命令配置网卡的过程实际上就是修改了如下的网卡配置文件,因此,对于熟手,可以通过查看网卡的配置文件确认其与想要配置的是否一致。
如下代码展示了如何查看网卡配置文件以及网卡配置项的含义:
[root@www ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet #<==上网类型,目前基本都是以太网。
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none #<==启动协议,获取配置方式,有none|bootp|dhcp三个选项。
DEFROUTE=yes #<==使用默认路由。
IPV4_FAILURE_FATAL=no #<==不启用IPV4错误检测功能。
NAME=eth0 #<==第一块网卡的逻辑设备名,第二块为eth1。
UUID=e62dd7a9-92fa-4805-afc9-441b567ad38d #<==通用唯一识别码 (Universally Unique
Identifier),如果是VMware克隆的
虚拟机则无法启动网卡,可以去除此项。
DEVICE=eth0 #<==第一块网卡的逻辑设备名,第二块为eth1。
ONBOOT=yes #<==这个地方应为yes,才能保证下次开机启动激活网卡设备。
IPADDR=192.168.2.217 #<==这是虚拟机桥接模式,局域网Linux服务器的固定IP。
PREFIX=24 #<==子网掩码位数,这里是24位。
DNS1=192.168.2.1 #<==主DNS,这里默认会覆盖以及优先于/etc/resolv.conf的配置生效。
GATEWAY=192.168.2.1 #<==局域网上网网关地址。
无论虚拟机采用的是NAT模式还是桥接模式,或者是物理服务器,都要修改网卡启动项配置,将“ONBOOT=no”改为“ONBOOT=yes”,使得下一次开机时网卡可以自启动,如果前面执行nmtui命令修改时已经激活了,那么这里可以忽略配置。命令如下:
[root@www ~]# sed -i 's#ONBOOT=no#ONBOOT=yes#g' /etc/sysconfig/network-scripts/ifcfg-eth0
[root@www ~]# grep ONBOOT /etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT=yes
重启网卡的命令如下:
[root@www ~]# systemctl restart network
查看IP设置的命令如下:
[root@www ~]# ip add
...省略若干...
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:22:6b:45 brd ff:ff:ff:ff:ff:ff
inet 192.168.2.217/24 brd 192.168.2.255 scope global noprefixroute eth0
...省略若干...
提示:暂时无法使用ifconfig查询,因为默认还没有安装这个命令。
查看默认网关设置的命令如下:
[root@www ~]# ip route
default via 192.168.2.1 dev eth0 proto static metric 100
192.168.2.0/24 dev eth0 proto kernel scope link src 192.168.2.217 metric 100
提示:暂时无法使用route和netstat查询,因为默认还没有安装这两个命令。
查看DNS设置的命令如下:
[root@www ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.2.1
如果以上配置都正确,那么一般来说上网就没有问题了。
2.4.4 通过VMware为新系统创建快照
创建快照的目的是将来能将系统随时还原到做快照时候的系统状态,对于学习的读者来说,这个快照的功能很有用(图2-38)。
关闭系统后再创建快照,这样会节省磁盘空间。做好快照可以快速还原因误操作损坏的系统,或者在未来重新建立新的学习环境(图2-39)。
2.4.5 更新系统打补丁到最新
与Windows打补丁类似,Linux也可以定期地更新系统软件。
Linux下安装软件的优秀工具称为yum,它是CentOS Linux下最好用的包管理器和安装软件包的工具,用起来很方便。Linux的二进制软件包一般是rpm包,类似于Windows下的exe程序。
借助yum工具可以很方便地安装rpm软件包,默认获取rpm包的软件配置是从国外CentOS官方源及其镜像地址上下载的。因此,通过yum工具安装软件的速度会比较慢,因此需要将默认获取rpm包的地址改成国内的yum源地址。
CentOS安装完毕后,首先应该修改更新源,并升级到最新的系统。修改更新yum源的命令如下:
curl -s -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -s -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
#如果执行字符太多的命令不方便,那么可以等学完第3章后,再回来配置。
[root@www ~]# yum update -y #<==本书写作已进行更新,读者也更新下。
2.4.6 额外安装一些有用的软件包
按照上文选择最小化安装时,一些额外的、有用的工具包可能会没有安装进去,特别是CentOS7将一些好用的命令都遗弃了,我们可以将这些工具提前安装好,以后可能会用得着,命令如下。
CentOS6和CentOS7都要安装的企业运维常用基础工具包:
yum install tree nmap dos2unix lrzsz nc lsof wget tcpdump htop iftop iotop sysstat nethogs -y
以上工具包的作用及主要包含的命令具体见表2-3。
CentOS7需要安装的企业运维常用基础工具包:
yum install psmisc net-tools bash-completion vim-enhanced -y
以上工具包是CentOS7默认没有安装的一些重要的工具包,具体说明见表2-4。
如果在系统安装过程中落下了某些需要的软件包组,那么可以在这里执行如下命令进行安装。
[root@www ~]# yum groups mark convert
[root@www ~]# yum grouplist #<==查看所有包组名称,包括已安装的和未安装的。
...省略若干...
Available Environment Groups:
Minimal Install
Compute Node
...省略若干...
Basic Web Server
Virtualization Host
...省略若干...
Installed Groups:
Compatibility Libraries
Development Tools
Milkymist
Security Tools
System Administration Tools
Available Groups:
Cinnamon
Console Internet Tools
...省略若干...
Xfce
Done
到此为止,整个CentOS7.6的安装就告一段落了,大家在用虚拟机学习时可以保留这个模板机的配置,然后每次克隆新的虚拟机(推荐使用链接克隆以节省空间)用来学习,当然,也可以用快照的方式来设定及回滚操作过的设置。
2.5 本章相关问题
1)32位和64位系统的区别是什么?
2)请描述Linux分区的知识(包括设备名、主分区、扩展分区、文件系统类型等)。
3)什么是挂载点,挂载点的作用是什么?
4)企业场景如何针对不同的业务服务器规划分区方案?
5)企业场景下Linux系统安装如何尽可能地最小化选包?
6)企业场景下若线上运行的系统缺少部分包组或命令,应如何补救?
7)如何将网卡设置为传统的eth0、eth1形式?