1-9 硬盘分区及挂载

摘要:

       认识SAS-SATA-SSD-SCSI-IDE硬盘

       使用fdisk对磁盘进行操作,分区,格式化

       开机自动挂载分区

       使用parted操作大于等于4T硬盘

       扩展服务器swap内存空间

1.初识SAS-SATA-SSD-SCSI-IDE硬盘

1-1.1.SAS硬盘简介:

1)SAS(串行连接SCSI接口) 并行 串行

2)SAS(Serial Attached SCSI),串行连接SCSI接口,串行连接小型计算机系统接口。

3)SAS是新一代的SCSI技术,和现在流行的Serial ATA(SATA)硬盘相同,都是采用串行技术以获得更高的传输速度,并通过缩短连结线改善内部空间等。

4)SAS的接口技术可以向下兼容SATA

1-1.2.SAS接口:

【学神】 1-9 硬盘分区及挂载

SAS接口背面还有触点

【学神】 1-9 硬盘分区及挂载

SAS和SATA接口对比

【学神】 1-9 硬盘分区及挂载

【学神】 1-9 硬盘分区及挂载

SAS数据线:

【学神】 1-9 硬盘分区及挂载

1-1.3.SAS设计尺寸

       3.5英寸设计

       2.5英寸设计

       此前主流的桌面磁盘和服务器磁盘都是采用3.5英寸设计,而SAS硬盘除了具有传统的3.5英寸规格之外,还采用了2.5英寸的缩小版,这样可以在机架式服务器有限的空间内安装更多的磁盘以扩充存储系统的容量,也能够为其他配件腾出更大的空间,以便通的SAS硬盘风散热,在2U高度内使用8个2.5英寸位已经成为大多数服务器厂商的选择。

1-1.4.常见SAS硬盘参数:

东芝(TOSHIBA) 600GB 15000转64MB SAS 2.5寸企业级硬盘(AL13SXB600N)

       硬盘容量:600GB

       接口类型:SAS

       转速:15000转/分

       缓存:64MB

       接口速率:6Gb/s 

       平均寻道时间:2.7/4.1ms

       内部传输速率:286MB/s

       外部传输速率:1.5/3.0/6.0Gbps

       工作功耗3.9W-4.7W

       盘体尺寸:2.5英寸

       参考报价:¥ 2299

       工作噪音:29dB

希捷Barracuda 1TB 7200转 64MB 单碟(ST1000DM003)

       硬盘容量:1TB

       接口类型:SATA3.0

       转速:7200转/分

       缓存:64M

       接口速率:6Gb/s  

       平均寻道时间:<8.5ms

       盘体尺寸:3.5英寸

       运行功率:5.9W

       参考报价:¥299

内部结构:

【学神】 1-9 硬盘分区及挂载

1-2.SSD硬盘简介:

       固态硬盘(Solid State Drive)用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元(FLASH芯片、DRAM芯片)组成。

       固态硬盘在接口的规范和定义、功能及使用方法上与普通硬盘的完全相同,在产品外形和尺寸上也完全与普通硬盘一致。

       被广泛应用于军事、车载、工控、视频监控、网络监控、网络终端、电力、医疗、航空、导航设备等领域。

【学神】 1-9 硬盘分区及挂载

1-2.1一些SSD参数:

   Intel DC S3500系列(480GB)

   存储容量:480GB

   硬盘尺寸:2.5英寸

   接口类型:SATA3(6Gbps),SATA2(3Gbps)

   读取速度:SATA3:500MB/s
    写入速度:SATA3:410MB/s

   防震能力:1000G

   IOPS读取:75000IOPS

   IOPS写入:11000IOPS

   参考报价:¥3100

   PCI-E SSD

1-3.SCSI硬盘简介:

【学神】 1-9 硬盘分区及挂载

【学神】 1-9 硬盘分区及挂载

1-3.1一些SCSI硬盘参数:

希捷ST3146707LW(SCSI/10000转/3.5)参数

   硬盘容量:146GB

   接口类型:Ultra 320 SCSI

   转速:10000转/分

   缓存:8MB

   接口速率:320MB/S

   平均寻道时间:4.7/5.2ms

   内部传输速率:475-841Mb/s

   盘体尺寸:3.5英寸

   接口针数:68pin 并口

   保修:三年

1-4.IDE硬盘实例:

【学神】 1-9 硬盘分区及挂载

1-4.1数据线和电源接口

【学神】 1-9 硬盘分区及挂载

【学神】 1-9 硬盘分区及挂载

总结:并口为什么没有串口快

  串口形容一下就是一条车道,而并口就是有8个车道。同一时刻能传送8位(一个字节)数据。

  但是并不是并口快,由于8位通道之间的互相干扰。传输受速度就受到了限制。当传输出错时,要同时重新传8个位的数据,而且传输速度越快,干扰越严重。这是硬伤,这样速度就无法提升上来。

  串口没有干扰,传输出错后重发一位就可以了。而且串口传输的时钟频率要比并口高。

2.硬盘管理:

2-1.1硬盘内部结构相关名词解析

  磁道:Track,可以理解为一个圆形盘片由许许多多的同心圆组成,每一个同心圆可以认为是一个磁道。(硬盘是一个高速旋转的东西,当磁盘旋转时,磁头若保持在一个位置上不动,则磁头会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道)

  扇区:Sector,可以联想到“扇形区域”,磁盘上的每个磁道被等分为若干个弧段,这些弧段便是磁盘的扇区,每个扇区的大小为512个字节,磁盘驱动器在向磁盘读取和写入数据时应该以扇区为单位。扇区并不一定是对齐的,这是因为磁道的同心圆的周长是不同的,而我们的扇区的大小是一样的,这就造成了最外层了0磁道的扇区要比内层的磁道的扇区要多。

  柱面:Cylinder,硬盘通常由重叠的一组盘片构成,每个盘面都被划分为数目相等的磁道,并从外缘的0开始编号,具有相同编号的磁道形成一个圆柱,称之为磁盘的柱面。显然,磁盘的柱面数与一个盘面上的磁道数是相等的。

  磁头:Head,当然是读取信息用的了。每个盘面都有自己的磁头,如果盘面的双面都记录信息,那么双面都应该有磁头。所以,硬盘的容量计算公式如下:硬盘的容量=柱面数×磁头数×扇区数×512(字节数)

 

【学神】 1-9 硬盘分区及挂载

【学神】 1-9 硬盘分区及挂载

 

 

注意:机械硬盘的0磁道0扇区非常重要,它存放着硬盘主引导记录MBR。也就是说MBR只有512个字节。我们的硬盘是否能够引导启动操作系统就靠它了

2-1.2MBR与GPT分区表

       MBR,主引导记录(Master Boot Record),也就是现有的硬盘分区模式。MBR分区的标准决定了MBR只支持在2TB以下的硬盘,超过2TB的硬盘只能管理2TB!

       GPT,全局唯一标识分区表(GUID Partition Table),GUID,全局唯一标识符 (Globally Unique Identifier) 。与MBR最大4个分区表项的限制相比,GPT对分区数量没有限制。GPT可管理硬盘大小达到了18EB(1EB=1024PB=1,048,576TB) 。 1ZB

MBR:  Master boot record  : 主引导记录

硬盘的0柱面、0磁头、1扇区称为主引导扇区(也叫主引导记录MBR)。它由三个部分组成,主引导程序、硬盘分区表DPT(Disk Partition table)和分区有效标志(55AA)。

在总共512字节的主引导扇区里主引导程序(boot loader)占446个字节,第二部分是Partition table区(分区表),即DPT,占64个字节,16*4=64,硬盘中分区有多少以及每一分区的大小都记在其中。第三部分是magic number,占2个字节,固定为55AA。

 

magic number:·结束标志字,偏移地址01FE--01FF的2个字节值为结束标志55AA,称为“魔数”(magic number)。如果该标志错误系统就不能启动。

 

2-2添加磁盘步骤:

2-2.1添加设备(Vmware中演示)

       【学神】 1-9 硬盘分区及挂载

之后一直下一步,来到下图之后根据需要进行选择

 

【学神】 1-9 硬盘分区及挂载

【学神】 1-9 硬盘分区及挂载

【学神】 1-9 硬盘分区及挂载

2-2.2分区 

开机之后使用fdisk命令进行分区,

fdisk命令

[[email protected] ~]# fdisk  #fdisk后面跟上你想进行分区操作的设备文件即可,就会进入一下界面
[[email protected] ~]# fdisk /dev/sdb
Command (m for help): m                      #键入m就会打印出选项菜单
Command action
   a   toggle a bootable flag                       #设置引导扇区
   b   edit bsd disklabel                               #编辑BSD磁盘
   c   toggle the dos compatibility flag
   d   delete a partition                               #删除分区
   l   list known partition types               #列出已知分区类型
   m   print this menu                                  #打印菜单
   n   add a new partition                           #新建一个分区
   o   create a new empty DOS partition table
   p   print the partition table                   #打印分区表
   q   quit without saving changes           #不保存退出
   s   create a new empty Sun disklabel
   t   change a partition's system id       #修改分区类型
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit           #保存退出
   x   extra functionality (experts only)   #专家模式

2-2.2.1分区操作举例:

创建一个主分区:

[[email protected] ~]# fdisk /dev/sdb
Command (m for help): n                                                      #创建一个新的分区
Command action
   e   extended                                                                   #创建一个扩展分区
   p   primary partition (1-4)                                               #创建一个主分区
p
Partition number (1-4): 1                                                       #指定分区号
First cylinder (1-2610, default 1):                                         #指定开始柱面,默认,回车即可
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): +1G                    #指定结束的柱面,即指定分区的大小
Command (m for help): p                   #打印分区表
 
Disk /dev/sdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x009a4626
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         132     1060258+  83  Linux
到此主分区创建完成

2-2.2.2创建一个扩展分区

[[email protected] ~]# fdisk /dev/sdb
e
Partition number (1-4): 2
First cylinder (133-2610, default 133): 
Using default value 133
Last cylinder, +cylinders or +size{K,M,G} (133-2610, default 2610): +1G   #指定结束的柱面,即指定分区的大小,但不允许超过新设备的总大小,否咋会出错
 
Command (m for help): n
Command action
   l   logical (5 or over)
   p   primary partition (1-4)

l                    # sdb5是建立在扩展分区上进行分区创建的,直接删除扩展分区会让扩展分区上的所有分区全部丢失。在删除扩展分区时一定要慎重。

First cylinder (133-264, default 133): 
Using default value 133
Last cylinder, +cylinders or +size{K,M,G} (133-264, default 264): +1G  #指定结束的柱面,即指定分区的大小,不允许超过新设备的总大小,否咋会出错
 
Command (m for help): p            #打印分区表
 
Disk /dev/sdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x009a4626
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         132     1060258+  83  Linux
/dev/sdb2             133         264     1060290    5  Extended
/dev/sdb5             133         264     1060258+  83  Linux
Command (m for help): w            #保存并退出
The partition table has been altered!
 
Calling ioctl() to re-read partition table.
Syncing disks.

2-2.3格式化(创建文件系统)  

[[email protected] ~]# mkdir /sdb1                       #创建挂载点
[[email protected] ~]# mount /dev/sdb1 /sdb1/    #挂载
[[email protected] ~]# df –h                                  #查看新挂载设备
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2       9.7G  3.9G  5.4G  42% /
tmpfs          1000M  224K 1000M   1% /dev/shm
/dev/sda1       194M   34M  151M  19% /boot
/dev/sr0        3.6G  3.6G     0 100% /mnt
/dev/sdb1      1020M   34M  935M   4% /sdb1
2-4分区的自动挂载
[[email protected] ~]# vim /etc/fstab      #在文件的最后添加下面内容,保存退出后,下次开机自动挂载
/dev/sdb1         /sdb1        ext4        defaults        0       0

要挂载的分区        挂载点        文件系统类型  挂载选项     是否备份   是否检测

最后两个0

fs_dump  是否要使用dump命令进行备份. 0为不备份,1为要备份

fs_pass - 该字段被fsck命令用来决定在启动时是否需要被扫描的文件系统的顺序,根文件系统/对应该字段的值应该为1,其他文件系统应该为2。若该文件系统无需在启动 时扫描则设置该字段为0

[

[email protected] ~]# umount /dev/sdb1       #卸载分区
[[email protected] ~]# umount /sdb1/
 
[[email protected] ~]# umount /dev/sdb1             检查 fstab配置是否正确
[[email protected] ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2       9.7G  3.9G  5.4G  42% /
tmpfs          1000M  224K 1000M   1% /dev/shm
/dev/sda1       194M   34M  151M  19% /boot
/dev/sr0        3.6G  3.6G     0 100% /mnt
/dev/sdb5      1020M   34M  935M   4% /sdb5
[[email protected] ~]# umount /sdb5
[[email protected] ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2       9.7G  3.9G  5.4G  42% /
tmpfs          1000M  224K 1000M   1% /dev/shm
/dev/sda1       194M   34M  151M  19% /boot
/dev/sr0        3.6G  3.6G     0 100% /mnt

使用卷标开机自动挂载硬盘

创建一个标签

[[email protected] ~]# e2label /dev/sdb1 sdb1      #创建一个卷标,sdb1为卷标名字,可自定义
[[email protected] ~]# e2label /dev/sdb1                     #查看
sdb1
使用卷标名实现自动挂载
[[email protected] ~]# vim /etc/fstab 
LABEL=sdb1         /sdb1                   ext4       defaults         0  0

 

2-5UUID作用

UUID是一个标识你系统中的存储设备的字符串,其目的是帮助使用者唯一的确定系统中的所有存储设备,不管它们是什么类型的。它可以标识DVD驱动器,USB存储设备以及你系统中的硬盘设备等。

特点:

它是真正的唯一标志符

Linux中的许多关键功能现在开始依赖于UUID

2-5.1查看UUID

[[email protected] ~]# blkid | grep sdb1
/dev/sdb1: LABEL="sdb1" UUID="0fb583e1-9bb3-469b-9385-563693e4f8e4" TYPE="ext4" 
[[email protected] ~]# tune2fs -l /dev/sdb1 |grep UUID
Filesystem UUID:          0fb583e1-9bb3-469b-9385-563693e4f8e4

2-5.2使用UUID实现自动挂载

[[email protected] ~]# vim /etc/fstab
UUID=0fb583e1-9bb3-469b-9385-563693e4f8e4   /sdb1       ext4   defaults   0 0
2-6特殊挂载方法
[[email protected] ~]# mount -t ext4 /dev/sdb1  /sdb1/
[[email protected] ~]# mount -o loop rhel-server-6.5-x86_64-dvd.iso /media
# rhel-server-6.5-x86_64-dvd.iso前提是光驱中有镜像,这是挂载光驱硬件的命令
[[email protected] ~]# mount -o remount,ro /sdb1/     #只读方式挂载
[[email protected] ~]# mount
/dev/sda2 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
/dev/sr0 on /mnt type iso9660 (ro)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
vmware-vmblock on /var/run/vmblock-fuse type fuse.vmware-vmblock (rw,nosuid,nodev,default_permissions,allow_other)
gvfs-fuse-daemon on /root/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev)
/dev/sdb1 on /sdb1 type ext4 (ro)

2-7.1卸载:

[[email protected] ~]# umount /dev/sdb1
[[email protected] ~]# umount /sdb1
2-7.2特殊情况无法卸载时
[[email protected] ~]# umount /dev/sdb1
umount: /sdb1: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
方法1[[email protected] ~]# lsof /sdb1    #获取进程号
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
bash    3506 root  cwd    DIR   8,17     4096    2 /sdb1
方法2[[email protected] ~]# fuser -m -u -v /sdb1   #获取进程
                     USER        PID ACCESS COMMAND
/sdb1:               root       3518 ..c.. (root)bash
fuser参数:
-m 显示进程ID
-u 显示执行这个进程的用户名
-v 详细信息
[[email protected] ~]# kill -9 3506    #杀死进程
[[email protected] ~]# umount /dev/sdb1      #卸载完成

GPT分区:

GPT,全局唯一标识分区表(GUID Partition Table),GUID,与MBR最大4个分区表项的限制相比,GPT对分区数量没有限制,但Windows最大仅支持128个GPT分区。GPT可管理硬盘大小达到了18EB(1EB=1024PB=1,048,576TB),不过NTFS格式最大仅支持256TB。

 

Parted 磁盘分区工具

3-1安装

[[email protected] ~]# rpm -qf `which parted`
parted-2.1-21.el6.x86_64
3-2创建GPT分区
[[email protected] ~]# parted 
GNU Parted 2.1
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) help   #获取帮助                                                          
(parted) q      #退出
[[email protected] ~]# parted /dev/sdb
GNU Parted 2.1
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p    #输入p查看磁盘是分区状态                                                             
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
 
Number  Start   End     Size    Type      File system  Flags
 1      32.3kB  1086MB  1086MB  primary   ext4
 2      1086MB  2171MB  1086MB  extended
 5      1086MB  2171MB  1086MB  logical   ext4
(parted) mklabel       #创建分区表类型为gpt                                                   
New disk label type? gpt                                                  
Warning: The existing disk label on /dev/sdb will be destroyed and all data on
this disk will be lost. Do you want to continue?
Yes/No? yes
(parted) p                                                                
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
 
Number  Start  End  Size  File system  Name  Flags
 
(parted) mkpart         #创建分区                                                  
Partition name?  []? mydisk1
File system type?  [ext2]?     #指定分区文件系统类型 ,定义分区类型。默认就可以了。因为后期,我用使用mkfs.ext4格式化                                          
Start? 1      ---指定开始位置  
End? 100M   --指定结束位置 
(parted) p                                                                
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
 
Number  Start   End     Size    File system  Name     Flags
 1      1049kB  99.6MB  98.6MB               mydisk1
 
(parted) mkpart                                                           
Partition name?  []? 2                                                    
File system type?  [ext2]?                                                
Start? 100M                                                               
End? 200M                                                                 
(parted) p                                                                
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
 
Number  Start   End     Size    File system  Name     Flags 
 1      1049kB  99.6MB  98.6MB               mydisk1
 2      99.6MB  200MB   101MB                2
 
(parted) q
Information: You may need to update /etc/fstab.

                         

3-3删除GPT分区

[[email protected] ~]# parted /dev/sdb
GNU Parted 2.1
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p                                                                
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
 
Number  Start   End     Size    File system  Name     Flags
 1      1049kB  99.6MB  98.6MB               mydisk1
 2      99.6MB  200MB   101MB                2
 
(parted) rm 2
(parted) p                                                                
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
 
Number  Start   End     Size    File system  Name     Flags
 1      1049kB  99.6MB  98.6MB               mydisk1

 

(parted) q

上述操作需要在reboot之后生效!

4.扩展swap分区

新建swap 分区

添加一个硬盘sdb,然后创建一个普通分区: sdb1  大小,1000M

 

#格式化sdb1分区为swap格式

[

[email protected] ~]# mkswap /dev/sdb1
Setting up swapspace version 1, size = 96252 KiB
no label, UUID=90424bbb-c8bd-47ca-8a5a-9ca1a9c8cfb2

 

启动swap分区

[[email protected] ~]# swapon /dev/sdb1

 

实现开机自动挂载swap分区

[[email protected] ~]# vim /etc/fstab
/dev/sdb1                                 swap                    swap      defaults  0 0
说明:只有重启才能生效,mount –a 无法自动扩展swap分区的。
[[email protected] ~]# swapoff /dev/sdb1 
[[email protected] ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          3946        544       3401          0         28        245
-/+ buffers/cache:        270       3675
Swap:          999          0        999

 

 

 

学神-IT-教育51cto技术交流群:468845589  快来上我们公开课吧!

 

本文由 学神-IT-教育 1508VIP学员 学神-IT-死神同学 整理提供