6主机规划与磁盘分区

1、Linux与硬件的搭配

1.1 认识计算机的硬件配备

1.1.1“性能/价格”比与“性能/消耗的瓦数”比的考虑

如果高一级的产品让你的花费多一倍,但是新增加的性能却只有10%而已,那这个性能/价格的比值太低,不建议啦。
如果是做为服务器用, 一年365天中时时刻刻都开机,则你的计算机多花费50瓦的电力时,每年就得要多花450度电左右(50W365天24小时/天/1000W=438度电),如果以企业来讲, 每百部计算机每年多花450度电的话,每年得多花十万块以上的电费呢 (以一
度电3块钱来计算)。所以这也需要考虑啊。

1.1.2 支持度的考虑

并非所有的产品都会支持特定的操作系统,这牵涉到硬件开发商是否有意愿提供适当的驱动程序之故。

1.2 选择与Linux搭配的主机配备

CPU:CPU只要不是老旧到会让你的硬件系统死机的都能够支持。
RAM内存 是越大越好!事实上在Linux服务器中,内存的重要性比CPU还要高的多!因为如果内存不够大, 就会使用到硬盘的内存交换空间(swap)。 而由 计算机概论.的内容我们知道硬盘比内存的速度要慢的多, 所以内存太小可能会影响到整体系统的性能的!尤其如果你还想要玩X window的话,那内存的容量就不能少。 对于一般的小型服务器来说,建议至少也要512MB以上的内存容量较佳。老实说,目前 DDR3 的硬件环境中, 新购系统动不动就是 4~16GB 的内存,真的是很够用了!
Hard Disk 由于数据量与数据存取频率的不同,对于硬盘的要求也不相同。 举例来说,如果是一般小型服务器,通常重点在于容量,硬盘容量大于20GB就够用到不行了! 但如果你的服务器是作为备份或者是小企业的文件服务器,那么你可能就得要考虑较高阶的磁盘阵列(RAID)模式了。
**磁盘阵列(RAID)**是利用硬件技术将数个硬盘整合成为一个大硬盘的方法,操作系统只会看到最后被整合起来的大硬盘。 由于磁盘阵列是由多个硬盘组成,所以可以达成速度性能、备份等任务。
VGA 对于不需要X Window的服务器来,显卡算是最不重要的一个元件了!你只要有显卡能够让计算机启动,那就够了。 但如果需要X window系统时,你的显卡最好能够拥有32MB以上的内存容量,否则跑X系统会很累。
Network Interface Card 网卡是服务器上面最重要的元件之一了!目前的主板大多拥有内置10/100/1000Mbps的超高速以太网卡。比较好的网卡通常Linux 驱动程序也做的比较好,用起来会比较顺畅。
光盘、软盘、键盘与鼠标 不要旧到你的计算机不支持就好了,因为这些配备都是非必备的喔。

一般小型主机且不含X Window系统
用途:家庭用NAT主机(IP分享器功能)或小型企业之非图形接口小型主机。
CPU:五年内出产的产品即可。
RAM:至少512MB,不过还是大于1GB以上比较妥当!
网卡:一般的以太网卡即可应付。
显卡:只要能够被Linux捉到的显卡即可,例如NVidia或ATI的主流显卡均可。
硬盘:20GB以上即可!
桌上型(Desktop)Linux系统/含X Window
用途:Linux的练习机或办公室(Office)工作机。(一般我们会用到的环境)
CPU:最好等级高一点,例如 Intel I5, I7 以上等级。
RAM:一定要大于1GB比较好!否则容易有图形接口停顿的现象。
网卡:普通的以太网卡就好了!
显卡:使用256MB以上内存的显卡!(入门级的都这个容量以上了)
硬盘:越大越好,最好有60GB。
中型以上Linux服务器
用途:中小型企业/学校单位的FTP/mail/WWW等网络服务主机。
CPU:最好等级高一点,例如 I5, I7 以上的多核心系统。
RAM:最好能够大于1GB以上,大于4GB更好!
网卡:知名的broadcom或Intel等厂牌,比较稳定性能较佳!
显卡:如果有使用到图形功能,则一张64MB内存的显卡是需要的!
硬盘:越大越好,如果可能的话,使用磁盘阵列,或者网络硬盘等等的系统架构,能够具有更稳定安全的传输环境,更佳!
建议企业用计算机不要自行组装,可购买商用服务器较佳, 因为商用服务器已经通过制造商的散热、稳定性等测试,对于企业来说,会是一个比较好的选择。

Red Hat的硬件支持:https://hardware.redhat.com/?pagename=hcl
Open SuSE的硬件支持:http://en.opensuse.org/Hardware?LANG=en_UK
Linux对笔记本电脑的支持:http://www.linux-laptop.net/
Linux对打印机的支持:http://www.openprinting.org/
Linux硬件支持的中文
HowTo:http://www.linux.org.tw/CLDP/HOWTO/hardware.html#hardware

1.3 各硬件设备在Linux中的文件名

常见的设备与其在Linux当中的文件名:
在这里插入图片描述

Tips 更多Linux核心支持的硬件设备与文件名,可以参考如下网页:
https://www.kernel.org/doc/Documentation/devices.txt.

1.4 使用虚拟机学习

如果你的系统是 windows 系列的话,推荐你使用 virtualbox 这个软件! 至于如果你原本就用 Linux 系统,例如Fedora/Ubuntu 等系列的话,那么建议你使用原本系统内就有的虚拟机管理员来处理即可。目前 Linux 系统大多使用 KVM 这个虚拟化软件就是了。
Virtualbox 官网 https://www.virtualbox.org.
Virtualbox 官网教学 https://www.virtualbox.org/manual/ch01.html.
Fedora 教学 https://docs.fedoraproject.org/en-US/Fedora/13/html/Virtualization_Guide/part-Virtualization-Virtualization_Reference_Guide.html.

2、磁盘分区

2.1 磁盘连接的方式与设备文件名的关系

正常的实体机器大概使用的都是 /dev/sd[a-] 的磁盘文件名,至于虚拟机环境下面,为了加速,可能就会使用 /dev/vd[a-p] 这种设备文件名。
再以SATA接口来说,由于SATA/USB/SAS等磁盘接口都是使用SCSI模块来驱动的, 因此这些接口的磁盘设备文件名都是/dev/sd[a-p]的格式。
例题:如果你的PC上面有两个SATA磁盘以及一个USB磁盘,而主板上面有六个SATA的插槽。这两个SATA磁盘分别安插在主板上的SATA1, SATA5插槽上, 请问这三个磁盘在Linux中的设备文件名为何?

答:由于是使用侦测到的顺序来决定设备文件名,并非与实际插槽代号
有关,因此设备的文件名如下:
1. SATA1插槽上的文件名:/dev/sda
2. SATA5插槽上的文件名:/dev/sdb
3. USB磁盘(开机完成后才被系统捉到):/dev/sdc

2.2 MSDOS(MBR) 与 GPT 磁盘分区表(partition table)

磁盘分区表目前有两种格式,MBR与GPT。

2.2.1 MSDOS (MBR) 分区表格式与限制

2.2.1.1 MSDOS (MBR) 分区表格式

早期的 Linux 系统为了相容于 Windows 的磁盘,因此使用的是支持 Windows 的MBR(Master Boot Record, 主要开机纪录区) 的方式来处理开机管理程序与分区表!而开机管理程序纪录区与分区表则通通放在磁盘的第一个扇区, 这个扇区通常是 512Bytes 的大
小 (旧的磁盘扇区都是 512Bytes 喔!),所以说,第一个扇区 512Bytes 会有这两个数据:
主要开机记录区(Master Boot Record, MBR):可以安装开机管理程序的地方,有446Bytes
分区表(partition table):记录整颗硬盘分区的状态,有64 Bytes
由于分区表所在区块仅有64 Bytes容量,因此最多仅能有四组记录区,每组记录区记录了该区段的启始与结束的柱面号码。
在这里插入图片描述

假设上面的硬盘设备文件名为/dev/sda时,那么这四个分区在Linux系统中的设备文件名如下所示, 重点在于文件名后面会再接一个数字,这个数字与该分区所在的位置有关。

P1:/dev/sda1
P2:/dev/sda2
P3:/dev/sda3
P4:/dev/sda4

关于分区的几个重要信息

1.其实所谓的“分区”只是针对那个64 Bytes的分区表进行设置而已
2.硬盘默认的分区表仅能写入四组分区信息
3.这四组分区信息我们称为主要(Primary)或延伸(Extended)分区
4.分区的最小单位“通常”为柱面(cylinder)
5.当系统要写入磁盘时,一定会参考磁盘分区表,才能针对某个分区进行数据的处理

分区的特点:1.数据的安全性;2.系统的性能考虑。

实际上延伸分区并不是只占一个区块,而是会分佈在每个分区的最前面几个扇区来记载分区信息的。有兴趣的读者可以到下面的链接瞧一瞧实际延伸分区的纪录方式: http://en.wikipedia.org/wiki/Extended_boot_record.
在这里插入图片描述
在上图当中,我们知道硬盘的四个分区记录区仅使用到两个,P1为主要分区而P2则为延伸分区。请注意, 延伸分区的目的是使用额外的扇区来记录分区信息,延伸分区本身并不能被拿来格式化。 然后我们可以通过延伸分区所指向的那个区块继续作分区的记录。
如上图右下方那个区块有继续分区出五个分区, 这五个由延伸分区继续切出来的分区,就被称为逻辑分区(logical partition)。 同时注意一下,由于逻辑分区是由延伸分区继续分区出来的,所以他可以使用的柱面范围就是延伸分区所设置的范围喔! 也就是图中的101~400。
同样的,上述的分区在Linux系统中的设备文件名分别如下:

P1:/dev/sda1
P2:/dev/sda2
L1:/dev/sda5
L2:/dev/sda6
L3:/dev/sda7
L4:/dev/sda8
L5:/dev/sda9
注意:设备文件名没有/dev/sda3与/dev/sda4
因为前面四个号码都是保留给Primary或Extended用的
所以逻辑分区的设备名称号码就由5号开始了

磁盘的 MBR 分区方式中,主要与延伸分区最多可以有四个,逻辑分区的设备文件名号
码,一定由5号开始
MBR 主要分区延伸分区逻辑分区的特性我们作个简单的定义:

主要分区与延伸分区最多可以有四笔(硬盘的限制)
延伸分区最多只能有一个(操作系统的限制)
逻辑分区是由延伸分区持续切割出来的分区;
能够被格式化后,作为数据存取的分区为主要分区与逻辑分区。延伸分区无法格式化;
逻辑分区的数量依操作系统而不同,在Linux系统中SATA硬盘已经可以突破63个以上的分区限制;
2.2.1.2 MSDOS (MBR) 分区表限制

在Windows操作系统当中,如果你想要将D与E盘整合成为一个新的分区,而如果有两种分区的情况如下图所示, 图中的特殊颜色区块为D与E盘的示意,请问这两种方式是否均可将D与E整合成为一个新的分区?
在这里插入图片描述
上图可以整合:因为上图的D与E同属于延伸分区内的逻辑分区,因此只要将两个分区删除,然后再重新创建一个新的分区, 就能够在不影响其他分区的情况下,将两个分区的容量整合成为一个。
下图不可整合:因为D与E分属主分区与逻辑分区,两者不能够整合在一起。除非将延伸分区破坏掉后再重新分区。 但如此一来会影响到所有的逻辑分区,要注意的是:如果延伸分区被破坏,所有逻辑分区将会被删除。 因为逻辑分区的信息都记录在延伸分区里面。
因此,如果整颗硬盘的第一个扇区(就是MBR与partition table所在的扇区)物理实体坏掉了,那这个硬盘大概就没有用了! 因为系统如果找不到分区表,不知道如何读取柱面区间。

例题:如果我想将一颗大硬盘“暂时”分区成为四个partitions(分区),同时还有其他的剩余容量可以让我在未来的时候进行规划, 我能不能分区出四个Primary?若不行,那么你建议该如何分区?

1.由于Primary+Extended最多只能有四个,其中Extended最多只能有一个,这个例题想要分区出四个分区且还要预留剩余容量, 因此P+P+P+P的分区方式是不适合的。
因为如果使用到四个P,则即使硬盘还有剩余容量, 因为无法再继续分区,所以剩余容量就被浪费掉了。

2.假设你想要将所有的四笔记录都花光,那么P+P+P+E是比较适合的。所以可以用的四个partitions有3个主要及一个逻辑分区, 剩余的容量在延伸分区中。

3.如果你要分区超过4个以上时,一定要有Extended分区,而且必须将所有剩下的空间都分配给Extended, 然后再以logical的分区来规划Extended的空间。
另外,考虑到磁盘的连续性,一般建议将Extended的柱面号码分配在最后面的柱面内。

例题:假如我的PC有两颗SATA硬盘,我想在第二颗硬盘分区出6个可用的分区(可以被格式化来存取数据之用), 那每个分区在Linux系统下的设备文件名为何?且分区类型各为何?至少写出两种不同的分区方式。

答:由于P(primary)+E(extended)最多只能有四个,其中E最多只能有一个。
现在题目要求6个可用的分区,因此不可能分出四个P。 
下面我们假设两种环境,一种是将前四号全部用完,一种是仅花费一个P及一个E的情况。

1.P+P+P+E的环境
分区示意图实际可用的是/dev/sdb1, /dev/sdb2, /dev/sdb3, /dev/sdb5, /dev/sdb6,/dev/sdb7这六个,至于/dev/sdb4这个延伸分区本身仅是提供来给逻辑分区创建之用。
在这里插入图片描述
2.P+E的环境
因为1~4号是保留给主要/延伸分区的,因此第一个逻辑分区一定是
由5号开始的。
在这里插入图片描述
MBR 分区表的限制中,经常可以发现如下的问题:

1.操作系统无法抓取到 2.2T 以上的磁盘容量!
2.MBR 仅有一个区块,若被破坏后,经常无法或很难救援。
3.MBR 内的存放开机管理程序的区块仅 446Bytes,无法容纳较多的程序码。

2.2.2 GUID partition table, GPT 磁盘分区表

如果磁盘容量大于 2TB 以上时,系统会自动使用 GPT 分区方式来处理磁盘分区。
GPT 分区已经没有延伸与逻辑分区的概念,你可以想像成所有的分区都是主分区。

GPT 磁盘分为了相容于所有的磁盘,因此在扇区的定义上面, 大多会使用所谓的逻辑区块位址(Logical Block Address, LBA)来处理。GPT 将磁盘所有区块以此 LBA(默认为 512Bytes ) 来规划,而第一个 LBA 称为 LBA0 (从 0 开始编号)。
GPT 使用了 34 个 LBA 区块来纪录分区信息, GPT 除了前面 34 个LBA 之外,整个磁盘的最后 33 个 LBA 也拿来作为另一个备份。详细的结构图:
在这里插入图片描述

2.2.2.1 LBA0 (MBR 相容区块)

在GPT分区表的最开头,处于兼容性考虑仍然存储了一份传统的MBR(LBA 0),这个MBR叫做保护性MBR(Protective MBR)。
保护性MBR保护GPT磁盘不受以前发布的MBR磁盘工具的危害。这些工具不能感知GPT,也无法正确地访问GPT磁盘。这些工具通过解释保护性MBR,将GPT磁盘看成一个封装的(可能无法识别)分区,而不是错误地当成一个未分区的磁盘,并且拒绝对硬盘进行操作。这就避免了意外删除分区的危险。

在支持从GPT启动的操作系统中,这里也用于存储第一阶段的启动代码。在这个MBR中,只有一个特殊标识为0xEE的分区,以此来表示这块硬盘使用GPT分区表。而不懂 GPT 分区表的磁盘管理程序, 就不会认识这颗磁盘,除非用户有特别要求要处理这颗磁盘,否则该管理软件不能修改此分区信息,进一步保护了此磁盘。

在使用MBR/GPT混合分区表的硬盘中,这部分存储了GPT分区表的一部分分区(通常是前四个分区),可以使不支持从GPT启动的操作系统从这个MBR启动,启动后只能操作MBR分区表中的分区。

2.2.2.2 LBA1 (GPT 表头纪录)

分区表头(LBA 1)定义了硬盘的可用空间以及组成分区表的项的大小和数量。这个部份还纪录了这块硬盘的GUID,记录了分区表头本身的位置与大小,同时纪录了备份用的 GPT 分区 (就是前面谈到的在最后 34 个 LBA 区块) 放置的位置, 同时放置了分区表的检验机制码(CRC32),固件、引导程序和操作系统可以根据这个检验码来判断 GPT 是否正确。若有错误,还可以通过这个纪录区来取得备份的 GPT(磁盘最后的那个备份区块) 来恢复 GPT 的正常运行。如果备份GPT也校验错误,硬盘将不可使用。
GPT分区表头的格式:
注:第80位起,分区表项的数量。该值一直为128,即使分区没有128项,也先写入128,在计算分区项CRC32校验时应该注意这点。
注:第80位起,分区表项的数量。该值一直为128,即使分区没有128项,也先写入128,在计算分区项CRC32校验时应该注意这点。

2.2.2.3 LBA2-33 (实际纪录分区信息处)

LBA 2–33的位置存放的是分区表项。GPT分区表使用简单而直接的方式表示分区。一个分区表项的前16字节是分区类型GUID。接下来的16字节是该分区唯一的GUID(这个GUID指的是该分区本身,而之前的GUID指的是该分区的类型)。再接下来是分区起始和末尾的64位LBA编号,以及分区的名字和属性。
在这里插入图片描述
从 LBA2 区块开始,每个 LBA 都可以纪录 4 笔分区纪录,所以在默认的情况下,总共可以有 4*32 = 128 笔分区纪录。
因为每个 LBA 有 512Bytes,因此每笔纪录用到 128Bytes 的空间。

512Bytes ÷ 4=  128Bytes
因此,GPT 分区表对於单一分区来说,他的最大容量限制就会在
2^64*512Bytes = 2^63*1KBytes = 2^53MBytes = 2^43GBytes  
= 2^33TBytes = 2^23PBytes = 2^13EBytes = 2^3ZBytes = 8 ZB 

硬盘各容量单位的换算关系:
1B(Byte) = 1024b(bit)
1KB = 1024B(Byte)     (Kilobyte 千字节) 注意区分大小写:1kb=1024b(bit)
1MB = 1024KB = 2^10 KB (Megabyte 兆字节 简称“兆”) 
1GB = 1024MB = 2^10 MB (Gigabyte 吉字节 又称“千兆”) 
1TB = 1024GB = 2^10 GB (Trillionbyte 万亿字节 太字节)
1PB = 1024TB = 2^10 TB (Petabyte 千万亿字节 拍字节)
1EB = 1024PB = 2^10 PB (Exabyte,百亿亿字节,艾字节)
1ZB = 1024EB = 2^10 EB (Zettabyte,十万亿亿字节,泽字节) 
1YB = 1024ZB = 2^10 ZB (Yottabyte,一亿亿亿字节,尧字节)
1BB = 1024YB = 2^10 YB (Brontobyte,一千亿亿亿字节) 
1NB = 1024BB = 2^10 BB (NonaByte,一百万亿亿亿字节) 
1DB = 1024NB = 2^10 NB (DoggaByte,十亿亿亿亿字节) 
2.2.2.4 扩展知识GUID

注:1.类型GUID为固定值,查阅资料可得。下图列举Windows、Linux下常见几种:

以Windows下基本数据分区为例说明:EBD0A0A2-B9E5-4433-87C0-68B6B72699C7。上述表示形式采用小端表示,其16位的串行表示为:A2A0D0EBE5B9334487C068B6B72699C7,即前三部分倒序表示。
在这里插入图片描述
在这里插入图片描述
2.分区属性:低位4字节表示与分区类型无关的属性,高位4字节表示与分区类型有关的属性。
在这里插入图片描述

2.3 开机流程中的 BIOS 与 UEFI 开机检测程序

并不是所有的操作系统都可以读取到 GPT 的磁盘分区格式。同时,也不是所有的硬件都可以支持 GPT 格式。是否能够读写 GPT 格式又与开机的检测程序有关。
BIOS理解为硬件与软件的中介,操作系统等软件通过BIOS(早期)或UEFI(新)这个中介来间接操作硬件。

2.3.1 BIOS 搭配 MBR/GPT 的开机流程

CMOS是记录各项硬件参数且嵌入在主板上面的储存器,BIOS则是一个写入到主板上的一个固件(再次说明, 固件就是写入到硬件上的一个软件程序)。
MBR整个开机流程到操作系统之前的动作应该是这样的:

  1. BIOS:开机主动执行的第一个固件程序,可以识别第一个可开机的设备;
  2. MBR:第一个可开机设备的第一个扇区内的主要开机记录区块,内含开机管理程序(boot loader);
  3. 开机管理程序(boot loader):一支可读取核心文件来执行的软件(即可读取并加载内核文件);
  4. 核心文件:开始操作系统的功能…

由于LBA0仅提供第一阶段的开机管理程序代码,如果使用类似grub的开机管理程序, 需要额外分出一个BIOS boot分区, 这个分区放置开机管理程序所需的配置文件! 在CentOS当中,这个分区通常占用2MB左右。

GPT:如果你的分区表为 GPT 格式的话,那么 BIOS 也能够从 LBA0 的 MBR 相容区块读取第一阶段的开机管理程序码, 如果你的开机管理程序能够认识 GPT 的话,那么使用BIOS 同样可以读取到正确的操作系统核心(内核);换句话说, 如果开机管理程序不识别 GPT 分区,自然就无法读取核心(内核)文件,开机就失败了。

BIOS与MBR都是硬件本身会支持的功能,至于Boot loader则是操作系统安装在MBR上面的一套软件了。由于MBR仅有446 Bytes而已,因此这个开机管理程序是非常小而美的。 这个boot loader的主要任务有下面这些项目:

  1. 提供菜单:使用者可以选择不同的开机项目(系统),这也是多重开机的重要功能。
  2. 载入核心文件:直接指向可开机的程序区段来开始操作系统。
  3. 转交其他loader:将开机管理功能转交给其他loader负责。

硬盘只有一个MBR,但是开机管理程序除了可以安装在MBR之外, 还可以安装在每个分区的启动扇区(boot sector)中!
假设只有一个硬盘,分成四个分区,其中第一、二分区分别安装了Windows及Linux,要如何在开机的时候选择用Windows还是Linux开机呢?假设MBR内安装的是可同时认识Windows/Linux操作系统的开机管理程序。那么整个流程可以图标如下:
在这里插入图片描述
开机管理程序提供两个开机菜单(选项),选项一(M1)可以直接加载Windows内核文件开机; 选项二(M2)则是将开机管理工作交给第二个分区的启动扇区(boot sector)。 当用户在开机的时候选择选项二时,整个开机管理工作就会交给第二分区的开机管理程序。当第二个开机管理程序启动后,该开机管理程序内仅有一个开机选项,因此就能够使用Linux的内核文件来开机了。 这就是多操作系统的多重引导。总结如下:

每个分区都拥有自己的开机扇区(boot sector)
图中的系统盘为第一及第二分区,实际可开机的核心(内核)文件是放置到各分区内。
loader只会认识自己的系统盘内的可开机核心(内核)文件,以及其他loader而已;
loader可直接指向或者是间接将管理权转交给另一个管理程序。

如果要安装多重开机, 最好先安装Windows再安装Linux

Linux在安装的时候,你可以选择将开机管理程序安装在MBR或各别分区的开机扇区, 
而且Linux的loader可以手动设置菜单(就是上图的M1, M2...),所以你可以在Linux的boot loader里面加入Windows开机的选项;

Windows在安装的时候,他的安装程序会主动的覆盖掉MBR以及自己所在分区的开机扇区,
你没有选择的机会, 而且他没有让我们自己选择菜单的功能。

2.3.2 UEFI BIOS 搭配 GPT 开机的流程

GPT 可以提供到 64bit 的寻址,然后也能够使用较大的区块来处理开机管理程序。但是 BIOS BIOS 仅为 16 位的程序,在与现阶段新的操作系统接轨方面有点弱掉了! 为了解决这个问题,因此就有了 UEFI (Unified Extensible Firmware Interface) 这个统一可延伸固件界面的产生。UEFI 主要是想要取代 BIOS 这个固件界面,因此我们也称 UEFI 为 UEFI BIOS
传统BIOS与UEFI的差异
在这里插入图片描述
与传统的 BIOS 不同,UEFI 简直就像是一个低阶的操作系统;由于过去 cracker 经常借由 BIOS 开机阶段来破坏系统,并取得系统的控制权,因此UEFI 加入了一个所谓的安全启动 (secure boot) 机制, 这个机制代表着即将开机的操作系统必须要被 UEFI 所验证,否则就无法顺利开机!微软用了很多这样的机制来管理硬件。 不过加入这个机制后,许多的操作系统,包括 Linux ,就很有可能无法顺利开机喔!所以,某些时刻,你可能得要将 UEFI 的 secure boot 功能关闭, 才能够顺利的进入 Linux 。
另外,与 BIOS 模式相比,虽然 UEFI 可以直接取得 GPT 的分区表,不过最好依旧拥有BIOS boot 的分区支持, 同时,为了与 windows 相容,并且提供其他第三方厂商所使用的UEFI 应用程序储存的空间,你必须要格式化一个 vfat 的文件系统, 大约提供 512MB 到 1G左右的容量,以让其他 UEFI 执行较为方便。

看到一篇很详细的文章,可以参考 计算机启动过程.

2.3.4 Linux安装模式下,磁盘分区的选择(极重要)

2.3.4.1 目录树结构

Linux内的所有数据都是以文件的形态来呈现的。 所谓的目录树架构(directory tree)就是以根目录为主,然后向下呈现分支状的目录结构的一种文件架构。 所以,整个目录树架构最重要的就是那个根目录(root directory),这个根目录的表示方法为一条斜线“/”, 所有的文件都与目录树有
关。目录树可见 网址.
目录树的呈现方式如下图所示:
在这里插入图片描述
在这里插入图片描述
所有的文件都是由根目录(/)衍生来的,而次目录之下还能够有其他的数据存在。上图中长方形为目录, 波浪形则为文件。那当我们想要取得mydata那个文件时,系统就得由根目录开始找,然后找到home接下来找到dmtsai, 最终的文件名为:/home/dmtsai/mydata 。

2.3.4.2 文件系统与目录树的关系(挂载)

所谓的“挂载”就是利用一个目录当成进入点(挂载点),将磁盘分区的数据放置在该目录下; 也就是说,进入该目录就可以读取该分区的意思。由于整个Linux系统最重要的是根目录,因此根目录一定需要挂载到某个分区的。 至于其他的目录则可依使用者自己的需求来给予挂载到不同的分区。我们以下图来作为一个说明:
在这里插入图片描述
计算机系统如何读取光盘内的数据呢?(在Windows里面使用的是“光驱”的代号方式处理(假设为E盘时), 但在Linux下面我们依旧使用目录树。)

Windows: 桌面\我的计算机\E:\我的文件

Linux: /media/cdrom/我的文件
注:不同系统中的斜杠方向不一样;光驱的数据默认放置到/media/cdrom
如果光驱被挂载到/mnt这个目录时,刚刚读取的这个文件的文件名会变成:/mnt/我的文件
2.3.4.3 distributions安装时,挂载点与磁盘分区规划
2.3.4.3.1 自定义分区

A:初次接触Linux:只要分区“ / ”及“swap”即可
通常初次安装Linux系统的朋友们,我们都会建议他直接以一个最大的分区“ / ”来安装系统。 这样作有个好处,就是不怕分区错误造成无法安装的困境!例如/usr是Linux的可执行程序及相关的文件摆放的目录, 所以他的容量需求蛮大的,万一你分区了一块分区给/usr,但是却给的不够大,那么就伤脑筋了! 因为会造成无法将数据完全写入的问题,就有可能会无法安装啦!因此如果你是初次安装的话, 那么可以仅分区成两个分区“ / 与 Swap ”即可。
B:预留一个备用的剩余磁盘容量
预留的分区也可以拿来做为备份之用。因为我们在实际操作Linux系统的过程中, 可能会发现某些script或者是重要的文件很值得备份时,就可以使用这个剩余的容量分区出新的分区, 并使用来备份重要的配置文件或者是script。最大的好处, 就是当我的Linux重新安装的时候,我的一些软件或工具程序马上就可以直接在硬盘当中找到。

2.3.4.3.2 默认分区

自动分区时,Linux会自动的把你的硬盘里面旧有的数据全部格式化。

3、安装Linux前的规划

3.1 选择适当的distribution

Linux是什么里面的distributions谈到的, 事实上每个Linux distributions使用的都是来自于 http://www.kernel.org.官方网站所提供的Linux核心,各家distribution使用的软件其实也都是大同小异, 最大的差别或许就是在于软件的安装模式而已。
下面列出CentOS的下载点:
国家高速网络中心:http://ftp.twaren.net/Linux/CentOS/7/isos/.
昆山科技大学:http://ftp.ksu.edu.tw/FTP/Linux/CentOS/7/isos/.
CentOS官方网站:http://mirror.centos.org/centos/7/isos/.

下载的是文件名为 CentOS-7-x86_64-Everything-1503-01.iso 的格式解释

CentOS 7 之后,版本命名的依据就跟发表的日期有关了。
CentOS-7 讲的是 7.x 版本;
x86_64 指的是 64 位操作系统;
Everything 指的是包山包海的版本;
1503 指的是 2015 年的 3 月发表的版本;
01.iso 则得要与 CentOS7 搭配,所以是 CentOS 7.1 版的意思。

下载的文件扩展名是.iso,这就是所谓的image文件(镜像文件)。这种image文件是由光盘直接烧录成文件的, 文件非常的大,建议你不要使用浏览器(IE/Firefox…)来下载,可以使用FTP用户端程序来下载,例如Filezilla ( http://filezilla-project.org/download.php.)等。这样比较不需要担心断线的问题,因为可以续传。
此外,这种镜像文件可不能以数据格式烧录成为光盘/DVD的。你必须要使用烧录程序的功能, 将他以“镜像文件格式”烧录成为光盘或DVD才行。切记不要使用烧录数据文件格式来烧录。

3.2 主机的服务规划与硬件的关系

3.2.1 NAT(达成IP分享器的功能)

NAT(Network Address Translation),是指网络地址转换,通常小型企业或者是学校单位大多仅会有一条对外的连线,然后全公司/学校内的计算机全部通过这条连线连到网际网络上。 此时我们就得要使用IP分享器来让这一条对外连线分享给所有的公司内部员工使用。
当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。
在NAT这种环境中,由于Linux作为一个内/外分离的实体,因此网络流量会比较大一点。 此时Linux主机的网卡就需要比较好些的配备。其他的CPU、RAM、硬盘等等的影响就小很多。

3.2.2 SAMBA(加入Windows网络上的芳邻)

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。
SAMBA的性能不错, 也没有用户端连线数的限制,相当适合于一般学校环境的文件服务器(file server)的角色。这种服务器由于分享的数据量较大,对于系统的网卡与硬盘的大小及速度就比较重要, 如果你还针对不同的使用者提供文件服务器功能,那么/home这个目录可以考虑独立出来,并且加大容量。

3.2.3 Mail(邮件服务器)

及Google/Yahoo/MicroSoft公平竞争之赐,一般免费的email信箱几乎都提供了很不错的邮件服务, 包过Web接口的传输、大于2GB以上的容量空间及全年无休的服务等等。例如非常多人使用的gmail: http://gmail.com.
在mail server上面,重要的也是硬盘容量与网卡速度,在此情境中,也可以将/var目录独立出来,并加大容量。

3.2.4 Web(WWW服务器)

Web服务器一般指网站服务器,是指驻留于Internet上某种类型计算机的程序,可以处理浏览器等Web客户端的请求并返回相应响应,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。目前最主流的三个Web服务器是Apache、 Nginx 、IIS。
CentOS使用的是Apache这套软件来达成WWW网站的功能,在WWW服务器上面,如果你还有提供数据库系统的话, 那么CPU的等级就不能太低,而最重要的则是RAM了!要增加WWW服务器的性能,通常提升RAM是一个不错的考虑。

3.2.5 DHCP(提供用户端自动取得IP的功能)

DHCP(Dynamic Host Configuration Protocol 动态主机配置协议)是一个局域网的网络协议。使用UDP协议工作,指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。对硬件要求可以不必很高。

3.2.6 FTP

FTP(File Transfer Protocol)即文件传输协议,是一种基于TCP的协议,采用客户/服务器模式。通过FTP协议,用户可以在FTP服务器中进行文件的上传或下载等操作。FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它可根据实际需要设置各用户的使用权限,同时还具有跨平台的特性,即在UNIX、Linux和Windows等操作系统中都可实现FTP客户端和服务器,相互之间可跨平台进行文件的传输。因此,FTP服务是网络中经常采用的资源共享方式之一。FTP协议有PORT和PASV两种工作模式,即主动模式和被动模式。对于FTP的硬件需求来说,硬盘容量与网卡好坏相关性较高。

3.2 主机硬盘的主要规划

数据安全并不是指数据被网络cracker所破坏, 而是指当主机系统的硬件出现问题时,你的文件数据能否安全的保存之意。
基本硬盘分区的模式:
最简单的分区方法(懒人分区法): 就是仅分区出根目录与内存交换空间( / & swap )即可。 然后再预留一些剩余的磁盘以供后续的练习之用。不过,这当然是不保险的分区方法,因为如果任何一个小细节坏掉(例如坏轨的产生),你的根目录将可能整个的损毁,挽救方面较困难。
稍微麻烦一点的方式: 分析主机的未来用途,然后根据用途去分析需要较大容量的目录, 以及读写较为频繁的目录,将这些重要的目录分别独立出来而不与根目录放在一起, 那当这些读写较频繁的磁盘分区有问题时,至少不会影响到根目录的系统数据,那挽救方面就比较容易。在默认的CentOS环境中,下面的目录是比较符合容量大且(或)读写频繁的目录:

/boot
/
/home
/var    //邮件主机大一些,因此/var通常可以给个数GB的大小
Swap

备注:该内容为读书笔记,部分内容收集来源于网络,如有侵权或错误,请联系我整改,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值