2、硬盘及分区
2.1硬盘及其分类
硬盘(Hard Disk)是计算机配置的大容量外存储器。随着技术的进步,磁盘可以分为以下两类。
Ø 机械硬盘:机械硬盘主要由盘片、磁头、盘片转轴及控制电机、磁头控制器、数据转换器、接口、缓存等几个部分组成。
Ø 固态硬盘(Solid State Disk, SSD):是由固态电子存储芯片阵列而制成的,无机械部件。固态硬盘具有读写速度很快、更加抗震,无噪音且工作温度范围大等优点,但现在的固态硬盘都有固定的读写次数限制且价格较机械硬盘昂贵。
2.2硬盘接口方式
硬盘的接口方式主要有PATA (俗称IDE)接口、SATA接口、SCSI接口、SAS接口和FC-AL接口。个人桌面多采用SATA接口;服务器多采用SCSI、SAS和FC-AL接口。
如果说服务器是网络数据的核心,那么服务器硬盘就是这个核心的数据仓库,所有的软件和用户数据都存储在这里。服务器-般需要7x24 小时不间断运行,其硬盘也要24小时不停地运转。因此,选择服务器硬盘应从如下几方面考虑:
Ø 较高的稳定性和可靠性。
Ø 支持热插拔。
Ø 较快的硬盘速度。
为了使硬盘能够适应大数据量、超长工作时间的工作环境,服务器一般采用高速、稳定、安全的SAS、SCSI和FC-AL接口硬盘。
Ø FC-AL 接口主要应用于任务级的关键数据的大容量实时存储。可以满足高性能、高可靠和高扩展性的存储需要。
Ø SCSI 接口主要应用于商业级的关键数据的大容量存储。
Ø SAS接口是个全才,可以支持SAS和SATA磁盘,很方便地满足不同性价比的存储需求,是具有高性能、高可靠和高扩展性的解决方案,因而被业界公认为取代并行SCSI的不二之选。
Ø SATA 接口主要应用于非关键数据的大容量存储,近线存储和非关键性应用(如替代以前使用磁带的数据备份)。
确定了硬盘的接口和类型后,就要重点考察影响硬盘性能的技术指标,根据转速、单碟容量、平均寻道时间、缓存等因素,并结合资金预算,选定性价比最合适的硬盘方案。
2.3使用fdisk分区
Linux环境下通常使用fdisk工具对磁盘进行分区。fdisk 命令的常用格式如下:
# fdisk <硬盘设备名> //进入fdisk的交互操作方式,对指定的硬盘进行分区操作。
# fdisk -l <硬盘设备名> //在命令行方式下显示指定硬盘的分区表信息。
在fdisk的交互操作方式下可以使用若干子命令,如下表所示。
fdisk 的子命令 | |||
命令 | 说 明 | 命令 | 说 明 |
a | 为分区设置可启动标志 | p | 列出硬盘分区表 |
d | 删除一个硬盘分区 | q | 退出fdisk,不保存更改 |
l | 列出所有支持的分区类型 | t | 更改分区类型 |
m | 列出所有命令说明 | u | 切换所显示的分区大小的单位 |
n | 创建一个新的分区 | w | 把设置写入硬盘分区表,然后退出 |
o | 创建DOS类型的空分区表 | g | 创建GPT类型的空分区表 |
注意:
当前fdisk 还不能完全支持GUID分区表( GUID Partition Table, GPT), 因
此在创建大于2TB的分区时应使用完全支持GPT的gdisk 工具,其使用方法与fdisk完全一致。
操作步骤4.1使用fdisk分区工具
//对系统中的第2块SCSI/SAS/SATA接口的硬盘进行分区操作
# fdisk /dev/sdb
欢迎使用fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入m获取帮助): m
//创建DOS类型的空分区表
命令(输入m获取帮助):。
使用磁盘标识符0x9dc5f4a0 创建新的DOS磁盘标签。
//创建新的分区
命令(输入m获取帮助): n
Partition type;
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): //直接回车,创建主分区
分区号(1-4, 默认1): //直接回车,创建编号为1的主分区
起始扇区(2048-41943039, 默认为2048): //直接回车,使用默认的起始扇区位置将使用默认值2048
Last扇区, 扇区or size{K,M,G} (2048-41943039,默认为41943039):
//直接回车,分区大小截至最后一个柱面
将使用默认值41943039
分区1已设置为Linux类型,大小设为20 GB
//显示当前分区表
命令(输入m获取帮助): p
磁盘/dev/sdb: 21.5 GB, 21474836480字节,41943040 个扇区
Units=扇区of 1* 512 = 512 bytes
扇区大小(逻辑/物理): 512字节/512 字节
VO大小(最小/最佳): 512 宇节/512字节
磁盘标签类型: dos
磁盘标识符: 0x9dc5f4a0
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 41943039 20970496 33 Linux
//删除已经存在的分区
命令(输入m获取帮助): d
已选择分区1
分区1已删除
//由于当前只有一个分区,所以没有被删除分区的编号提示选择,直接将此分区删除
//若当前存在多个分区,将出现分区的编号提示选择
//显示当前分区表,分区已经被删除
命令(输入m获取帮助): p
磁盘/dev/sdb: 21.5 GB, 21474836480字节,41943040 个扇区
Units=扇区of 1 * 512= 512 bytes
扇区大小(逻辑/物理): 512 字节/512字节
1O大小(最小最佳): 512字节/512字节
磁盘标签类型: dos
磁盘标识符: 0x9dc5f4a0
设备 Boot Start End Blocks Id System
//创建大小为1GB的1号主分区
命令(输入m获取帮助): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):p
分区号(1-4, 默认I):
起始扇区(2048-41943039, 默认为2048):
将使用默认值2048
Last扇区, 扇区or size{K,M,G} (2048 41943039,默认为41943039): 1G
分区1已设置为Linux 类型,大小设为1 GB
//创建大小为2GB的2号主分区
命令(输入m获取帮助): n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p):p
分区号(2-4, 默认2):
起始扇区(2099200-41943039, 默认为2099200):
将使用默认值2099200
Last扇区, 扇区or size{K,M,G} (2099200-41943039,默认为41943039): 2G
分区2已设置为Linux 类型,大小设为2 GB
//对所有磁盘剩余空间创建编号为3的扩展分区
命令(输入m获取帮助): n
Partition type:
p primary (2 primary, 0 extended,2 free)
e extended
Select (default p): e
分区号(3,4, 默认3):
起始扇区(6293504 41943039,默认为6293504):
将使用默认值6293504
Last扇区, 扇区or size{K,M,G} (6293504-41943039,默认为41943039);
将使用默认值41943039
分区3已设置为Extended类型,大小设为17 GB
//创建大小为5GB的逻辑分区
命令(输入m获取帮助): n
Partition type:
p primary (2 primary, 1 extended, 1 free)
1 logical (numbered from 5)
Select (default p): l
添加逻辑分区5
起始扇区(6295552 41943039,默认为6295552):
将使用默认值6295552
Last扇区, 扇区or size{K,M,G} (6295552-41943039,默认为41943039): 5G
分区5已设置为Linux 类型,大小设为5GB
//创建大小为8GB的逻辑分区
命令(输入m获取帮助): n
Partition type:
p primary (2 primay, 1extended, 1 free)
l logical (mumbered from 5)
Select (defaut p):1
添加逻辑分区6
起始扇区(16783360-41943039,默认为16783360):
将使用默认值16783360
Last扇区, 扇区or size{KM,G} (16783360 41943039,默认为41943039): 8G
分区6已设置为Linux类型,大小设为8GB
//显示当前分区表
命令(输入m获取帮助): p
磁盘 /dev/sdb: 21.5 GB, 21474836480字节,41943040 个扇区
Units=扇区of 1* 512=512 bytes
扇区大小(逻辑/物理): 512字节/512字节
I/O大小(最小/最佳): 512字节/512字节
磁盘标签类型: dos
磁盘标识符: 0x9dc5f4a0
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 2099199 1048576 83 Linux
/dev/sdb2 2099200 6293503 2097152 83 Linux
/dev/sdb3 6293504 41943039 17824768 5 Extended
/dev/sdb5 6295552 16781311 5242880 83 Linux
/dev/sdb6 16783360 33560575 8388608 83 Linux
//将1号分区更改为swap类型
命令(输入m获取帮助): t
分区号(1-3,5,6, 默认6): 1
Hex代码(输入L列出所有代码): 82
已将分区"Linux"的类型更改为“Linux swap/ Solaris”
//将2号分区更改为lvm类型
命令(输入m获取帮助): t
分区号(1-3,5,6, 默认6): 2
Hex代码(输入L列出所有代码): 8e
已将分区"Linux”的类型更改为“Linux LVM"
//将6号分区更改为lvm类型
命令(输入m获取帮助): t
分区号(1-3,5,6, 默认6): 6
Hex代码(输入L列出所有代码): 8e
已将分区"Linux." 的类型更改为“Linux LVM”
//显示当前分区表,类型已经更改
命令(输入m获取帮助): p
磁盘/dev/sdb: 21.5 GB, 21474836480字节,41943040个扇区
Units=扇区of 1 * 512= 512 bytes
扇区大小(逻辑/物理): 512 字节1512字节
1/O大小(最小/最佳): 512 字节/512字节
磁盘标签类型: dos
磁盘标识符: 0x9dc5f4a0
设备Boot Start End Blocks Id System
/dev/sdbl 2048 2099199 1048576 82 Linux swap/ Solaris
/dev/sdb2 2099200 6293503 2097152 8e Linux LVM
/dev/sdb3 6293504 41943039 17824768 5 Extended
/dev/sdb5 6295552 16781311 5242880 83 Linux
/dev/sdb6 16783360 33560575 8388608 8e Linux LVM
//将当前的分区设置保存,并退出fdisk
命令(输入m获取帮助): w
The partition table has been altered!
Calling ioctlO to re-read parition table.
正在同步磁盘。
//通知操作系统内核分区表已更改,请求操作系统重新读取分区表
# partprobe /dev/sdb
2.4静态分区的缺点
在安装Linux的过程中,如何正确地评估各分区大小是-一个难题,因为系统管理员不但要考虑到当前某个分区需要的容量,还要预见该分区以后可能需要的容量的最大值。如果估计不准确,当遇到某个分区不够用时,系统管理员甚至可能要备份整个系统、清除硬盘、重新对硬盘分区,然后恢复数据到新分区。
某个分区空间耗尽时,通常的解决方法如下。
Ø 使用符号链接:将破坏Linux文件系统的标准结构。
Ø 使用调整分区大小的工具必须停机一段时间。
Ø 备份整个系统、清除硬盘、重新对硬盘分区,然后恢复数据到新分区,必须停机一段时间进行恢复操作。
注意:
使用静态分区,当某个分区空间耗尽时,只能暂时解决问题,而没有从根本
提示上解决问题。使用Linux 的逻辑卷管理可以从根本上解决这个问题,使用户在无须停机的情况下方便地调整各个逻辑卷的大小。