Centos7.5-硬盘介绍和磁盘管理

本节所讲内容:

  • 12.1 SAS-SATA-SSD-SCSI-IDE硬盘讲解
  • 12.2 磁盘分区工具和挂载
  • 12.3 实战扩展swap分区

12.1 SAS-SATA-SSD-SCSI-IDE硬盘讲解
常见磁盘类型:

  • • SAS硬盘
  • • SATA硬盘
  • • SSD硬盘
  • • SCSI硬盘
  • • IDE硬盘

你的服务器使用什么磁盘?
SAS硬盘:

  • • SAS(串行连接SCSI接口)
  • • SAS(Serial Attached SCSI),串行连接SCSI接口,串行连接小型计算机系统接口。
  • • SAS是新一代的SCSI技术,和现在流行的Serial
    ATA(SATA)硬盘相同,都是采用串行技术以获得更高的传输速度,并通过缩短连结线改善内部空间等。
  • • SAS的接口技术可以向下兼容SATA。
    Centos7.5-硬盘介绍和磁盘管理
    Centos7.5-硬盘介绍和磁盘管理
    SAS和SATA接口对比
    Centos7.5-硬盘介绍和磁盘管理

SAS 磁盘线
Centos7.5-硬盘介绍和磁盘管理

磁盘尺寸:

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

已经被淘汰的硬盘:
Centos7.5-硬盘介绍和磁盘管理
Centos7.5-硬盘介绍和磁盘管理
数据线和电源接口,串型和并型 哪个快?

并口为什么没有串口快? 知道:1 不知道:2

  • • 串口形容一下就是 一条车道,而并口就是有8个车道。同一时刻能传送8位(一个字节)数据。
  • • 但是并不是并口快,由于8位通道之间的互相干扰。传输受速度就受到了限制。当传输出错时,要同时重新传8个位的数据,而且传输速度越快,干扰越严重。这是硬伤,这样速度就无法提升上来。
  • • 串口没有干扰,传输出错后重发一位就可以了。而且串口传输的时钟频率要比并口高。

1956年,一台5mb的IBM硬盘被装上飞机,重量超过一吨
Centos7.5-硬盘介绍和磁盘管理Centos7.5-硬盘介绍和磁盘管理

12.1.2 当下流行的磁盘种类

常见硬盘品牌:希捷 西数 日立 HP DELL EMC IBM
硬盘分几种?

  • A. 从工作原理来说: 固态:价格相对贵,寿命长,读取速度
    机械:怕摔、怕磁,(单位换下来的坏盘会做消磁处理),读取速度—》磁道寻址时间,潜伏时间
  • B. 从硬盘的接口来说
    STAT:用在低端服务器多
    SAS、SCSI:用在中高服务器
    PCIE M.2

对LINUX来说,在内核中,不同的接口对应有不同的命名方式:

  • 操作系统 IDE STAT|SCSI SAS
  • RHEL5 /dev/hda /dev/sda /dev/sda
  • RHEL6 /dev/sda /dev/sda /dev/sda
  • KVM /dev/vda

例1:常见磁盘:

SAS 磁盘容量一般: 300G 600G
有SAS 2T , 4T 的硬盘 ? 有:1 没有:2

假SAS= SATA盘身+ SAS接口(热插拔)

  • 硬盘: 容量大 + 便宜 符合市场需求! 提速度:假SAS做raid5 raid10 ,做分布式存储 MFS ,HDFS,GFS,
    swift ,ceph

例2:存储设备:阵列柜
Centos7.5-硬盘介绍和磁盘管理
Centos7.5-硬盘介绍和磁盘管理
互动:存储会放到机柜的上面还是下面?
Centos7.5-硬盘介绍和磁盘管理
下面:稳 , 换硬盘方便,机柜不容已倒,布线容易 ,太沉

例3:以西部数据为例,了解一下SATA盘。
你看过什么颜色的盘?
蓝、黑、绿 红 , 黄盘? 看过:1 没有:2

Centos7.5-硬盘介绍和磁盘管理

  • 西部数据(WD)黑盘 2TB SATA6Gb/s 64MB 台式机硬盘¥999.00

  • 西部数据(WD)红盘 2TB SATA6Gb/s 64M 台式机硬盘 ¥849.00

  • 西部数据(WD)紫盘 2TB SATA6Gb/s 64M 监控硬盘 ¥589.00

  • 西部数据(WD)绿盘 2TB SATA6Gb/s 64M 台式机硬盘 ¥499.00

  • 西部数据(WD)蓝盘 2TB SATA6Gb/s 64M 台式机硬盘 ¥459.90

  • 西部数据(WD) 金盘 2TB 7200转128M 企业级硬盘(WD2005FBYZ)¥1099
    http://item.jd.com/4360258.html#crumb-wrap
    Centos7.5-硬盘介绍和磁盘管理

  • 西部数据(WD)蓝盘 2TB SATA6Gb/s 64M 台式机硬盘(WD20EZRZ)
    http://item.jd.com/2054175.html
    Centos7.5-硬盘介绍和磁盘管理
    村中技巧:要4块黑块, 把蓝盘上的标签一撕,然后花两元买4个黑盘的标签一贴。
    4块硬盘挣500*4=2000元

    如何无痕撕标签?吹风机
    如何防?
    硬件大师 鲁大师 可以检测 ,或上官网查看***

大容量磁盘价格:

  • 西部数据(WD)绿盘 6TB SATA6Gb/s 64MB台式机硬盘¥1899.00

  • 昱科/HGST Ultrastar He10 10T企业级服务器磁盘阵列硬盘10TB现货

  • http://item.jd.com/10441913977.html

注:昱科->前日立硬盘业务

查看存储上的磁盘:
Centos7.5-硬盘介绍和磁盘管理
注:ST 希捷 WD 西数
例2:游戏服务器上的固态磁盘: 数据不多, 但要延迟小,随机读写能力强!

Centos7.5-硬盘介绍和磁盘管理
接口:
Centos7.5-硬盘介绍和磁盘管理
http://item.jd.com/10427653932.html
三星/SAMSUNG 750 EVO SSD固态硬盘120G/250G/500G 支架+螺丝刀+SATA线+螺丝 500G
京 东 价 ¥899.00
http://item.jd.com/10427653932.html

互动:有SAS接口的SSD硬盘?

例5:开眼界!最贵的SSD磁盘?

经验: 对于机械式磁盘,SATA3和SATA2接口标准,速度上没有太明显提升,但是对于固态磁盘,SATA3接口比SATA2快很多,就像USB3.0比USB2.0快很多一样。
Linux架构师高薪入口:
1.学神IT教育官方网站: http://xuegod.ke.qq.com
2.10年行业资深老鸟MK:QQ2659153446
3.加入Linux技术交流QQ群:722287089,即可获得以下福利:
①定期分享免费学习资料与视频(工具+笔记+拓展实战)
②10年行业资深老鸟在线答疑:技能+实战+项目分享+高薪就业
③有机会免费领取Linux云计算集群架构师4册书籍

12.2 磁盘分区工具和挂载
12.2.1 硬盘分区符认识

MBR概述:全称为Master Boot Record,即硬盘的主引导记录。

  • 硬盘的0柱面、0磁头、1扇区称为主引导扇区(也叫主引导记录MBR)。它由三个部分组成,主引导程序、硬盘分区表DPT(Disk Partition table)和分区有效标志(55AA)。在总共512字节的主引导扇区里主引导程序(bootloader)占446个字节,
  • 第二部分是Partitiontable区(分区表),即DPT,占64个字节,硬盘中分区有多少以及每一分区的大小都记在其中。
  • 第三部分是magic
    number,占2个字节,固定为55AA。

分区编号:主分区1-4 ,逻辑分区5……

  • LINUX规定:逻辑分区必须建立在扩展分区之上,而不是建立在主分区上

分区作用:

  • 主分区:主要是用来启动操作系统的,它主要放的是操作系统的启动或引导程序,/boot分区最好放在主分区上

  • 扩展分区不能使用的,它只是做为逻辑分区的容器存在的;我们真正存放数据的是主分区和逻辑分区,大量数据都放在逻辑分区中

  • 如果你用的是GPT的分区方式,那么它没有限制主分区个数

注意:使用分区工具fdisk对磁盘进行操作,分区,格式化(重点)
Centos7.5-硬盘介绍和磁盘管理
命名方式: /dev/sd[a-z]n

  • 其中:a-z 表示设备的序号,如sda表示第一块scsi硬盘,sdb就是第二块… n 表示每块磁盘上划分的磁盘分区编号
    Centos7.5-硬盘介绍和磁盘管理
    12.2.2 使用fdisk管理分区

  • fdisk:磁盘分区,是Linux发行版本中最常用的分区工具

  • 用法:fdisk [选项] device

  • 常用的选项 : -l 查看硬盘分区表

  • 案例:在sdb盘上建一个分区,大小为100M

  • 在虚拟机上添加一块硬盘
    Centos7.5-硬盘介绍和磁盘管理

例:对sdb这块盘划分一个100M的分区出来

[[email protected] ~]# fdisk /dev/sdb
...
Command (m for help): m
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition   删除分区
   g   create a new empty GPT partition table
   G   create an IRIX (SGI) partition table
   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)

Command (m for help): p   -----打印分区表
Command (m for help): n   ----新建一个分区
Partition type:
   p   primary (2 primary, 0 extended, 2 free)    p:主分区
   e   extended                         e:扩展分区
Select (default p):     --直接默认
Using default response p
Partition number (1,4, default 1):   ---直接默认
First sector (1230848-41943039, default 1230848):   ---直接默认 
Using default value 1230848
Last sector, +sectors or +size{K,M,G} (1230848-41943039, default 41943039): +1G  输入分区大小
Partition 3 of type Linux and of size 1 GiB is set
Command (m for help): w   保存退出

[[email protected] ~]# ls /dev/sdb*
/dev/sdb  /dev/sdb1

例2:对已经在使用的磁盘进行分区,分区让新生成的分区生效。如果对sda再做一个sda4主分区

[[email protected] ~]# fdisk  /dev/sda

命令(输入 m 获取帮助):p
磁盘标识符:0x0005c80e

 设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      411647      204800   83  Linux
/dev/sda2          411648     2508799     1048576   82  Linux swap / Solaris
/dev/sda3         2508800    23480319    10485760   83  Linux

命令(输入 m 获取帮助):n

Partition type:
   p   primary (3 primary, 0 extended, 1 free)
   e   extended
Select (default e): p

已选择分区 4

  • 起始 扇区 (23480320-41943039,默认为 23480320):
  • 将使用默认值 23480320
  • Last 扇区, +扇区 or +size{K,M,G} (23480320-41943039,默认为 41943039):+1G 分区
    4 已设置为 Linux 类型,大小设为 1 GiB

命令(输入 m 获取帮助):w

The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)

解决:让新生成的分区生效:

[[email protected] ~]#reboot   #这个是最好的方法
或
[[email protected] ~]# partx -a /dev/sda  #获得新分区表

使用sdb1新分区:

[[email protected] ~]# mkfs.ext4 /dev/sdb1 
[[email protected] ~]# mkfs.xfs  /dev/sdb1   #格式化,-f 对已经存在文件系统的分区,强制格式化
[[email protected] ~]# mkdir /sdb1   #创建挂载点
[[email protected] ~]# mount /dev/sdb1 /sdb1/    #挂载
[[email protected] ~]# df -h    #查看

文件系统 容量 已用 可用 已用% 挂载点

/dev/sda3        10G  4.3G  5.8G   43% /
devtmpfs        982M     0  982M    0% /dev
tmpfs           997M     0  997M    0% /dev/shm
tmpfs           997M  9.0M  988M    1% /run
tmpfs           997M     0  997M    0% /sys/fs/cgroup
/dev/sr0        4.3G  4.3G     0  100% /mnt
/dev/sda1       197M  172M   25M   88% /boot
tmpfs           200M   24K  200M    1% /run/user/0
/dev/sdb1      1014M   33M  982M    4% /sdb1

[[email protected] ~]# cd /sdb1/   #使用新分区
[[email protected] sdb1]# ls
[[email protected] sdb1]# cp /etc/passwd ./

例3:解决卸载不了的问题

[email protected] ~]# cd /sdb1/
[[email protected] sdb1]# umount /sdb1
umount: /sdb1:目标忙。
        (有些情况下通过 lsof(8) 或 fuser(1) 可以
         找到有关使用该设备的进程的有用信息)
[[email protected] sdb1]# lsof /sdb1
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
bash    2823 root  cwd    DIR   8,17       20   64 /sdb1
lsof    2952 root  cwd    DIR   8,17       20   64 /sdb1
lsof    2953 root  cwd    DIR   8,17       20   64 /sdb1
方法1:[[email protected] sdb1]# kill -9 2823
方法2:[[email protected] sdb1]# cd    #退出目录,这个最合适
 [[email protected] ~]# umount /dev/sdb1
注:umount 挂载点   //卸载方式1    或 umount 设备路径  //卸载方式2

例4:写入配置文件,让它开机自动挂载

[[email protected] /]# vim /etc/fstab  #在文件最后写入
/dev/sdb1 /sdb1 xfs defaults 0 0
注释:
/dev/sdb1	/sdb1	xfs	defaults	0	0
要挂载的分区设备	挂载点	文件系统类型	挂载选项	是否备份	是否检测

[[email protected] ~]# mount -a  #自动挂载/etc/fstab中没有挂载上的文件
[[email protected] ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        10G  4.3G  5.8G   43% /
devtmpfs        982M     0  982M    0% /dev
tmpfs           997M     0  997M    0% /dev/shm
tmpfs           997M  9.0M  988M    1% /run
tmpfs           997M     0  997M    0% /sys/fs/cgroup
/dev/sr0        4.3G  4.3G     0  100% /mnt
/dev/sda1       197M  172M   25M   88% /boot
tmpfs           200M   24K  200M    1% /run/user/0
/dev/sdb1      1014M   33M  982M    4% /sdb1   
#发现已经挂载上,说明配置没有问题。 然后再重启,看看挂载

方法2: 使用UUID挂载

[[email protected] ~]# blkid
/dev/sda1: UUID="a635d4d2-a21e-4d9b-b199-4c8d5cfed808" TYPE="xfs" 
/dev/sda2: UUID="46f139f8-fd5c-4e51-8d5c-b33f6c7aa38e" TYPE="swap" 
/dev/sda3: UUID="4bcb433e-10e6-464d-a40b-00d018950149" TYPE="xfs" 
/dev/sdb1: UUID="5e3a580a-e5b4-448c-88bf-d22fb3d1d9e2" TYPE="xfs"
[[email protected] /]# echo "UUID=5e3a580a-e5b4-448c-88bf-d22fb3d1d9e2  /sdb1  xfs defaults 0 0" >> /etc/fstab

扩展:了解

/dev/sdb1	/sdb1	xfs	defaults	0	0
要挂载的分区设备	挂载点	文件系统类型	挂载选项	是否备份	是否检测
其中第四列:parameters-文件系统的参数
Async/sync	设置是否为同步方式运行,默认为async
auto/noauto	当执行mount -a 的命令时,此文件系统是否被主动挂载。默认为auto
rw/ro	是否以以只读或者读写模式挂载
exec/noexe	限制此文件系统内是否能够进行"执行"的操作
user/nouser	是否允许用户使用mount命令挂载
suid/nosuid	是否允许SUID的存在
Usrquota	启动文件系统支持磁盘配额模式
Grpquota	启动文件系统对群组磁盘配额模式的支持
Defaults	同时具有rw,suid,dev,exec,auto,nouser,async等默认参数的设置 samba nfs
第五列:是否进行备份。通常这个参数的值为0或者1
0	代表不要做备份
1	代表要每天进行操作
2	代表不定日期的进行操作
第六列:是否检验扇区:开机的过程中,系统默认会以fsck检验我们系统是否为完整
0	不要检验
1	最早检验(一般根目录会选择)
2	1级别检验完成之后进行检验

12.2.3 gdisk 磁盘分区工具

  • gdisk主要是用来划分容量大于2T的硬盘,大于2T fdisk搞不定
  • 两种类型的分区表:GPT和MBR ; MBR不支持4T以上 GPT分区:GPT,全局唯一标识分区表(GUID Partition
    Table),它使用128位GUID来唯一标识每个磁盘和分区,与MBR存在单一故障点不同,GPT提供分区表信息的冗余,一个在磁盘头部一个在磁盘尾部;它通过CRC校验和来检测GPT头和分区表中的错误与损坏;默认一个硬盘支持128个分区

例:对sdb做gpt分区,创建一个sdb1

[[email protected] ~]# gdisk /dev/sdb
。。。
Command (? for help): ?    #  查看帮助
b	back up GPT data to a file
c	change a partition's name   
d	delete a partition    #删除分区
i	show detailed information on a partition
l	list known partition types
n	add a new partition        # 添加一个分区
o	create a new empty GUID partition table (GPT)
p	print the partition table       # 打印分区表
q	quit without saving changes     # 退出不保存
r	recovery and transformation options (experts only)
s	sort partitions
t	change a partition's type code
v	verify disk
w	write table to disk and exit     #  # 写入分区表并退出
x	extra functionality (experts only)
?	print this menu

Command (? for help): n   #新建分区表
Partition number (1-128, default 1):     #直接回车
First sector (34-41943006, default = 2048) or {+-}size{KMGTP}:     #直接回车, 从头开始划分空间
Last sector (2048-41943006, default = 41943006) or {+-}size{KMGTP}: +1G  #给1G空间
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):     #分区类型直接回车
注:8300 Linux filesystem  ;8e00 Linux LVM     想查看,可以按L 来显示
Changed type of partition to 'Linux filesystem'

Command (? for help): p  #查看
。。。
Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048         2099199   1024.0 MiB  8300  Linux filesystem
Command (? for help): w   #保存
Do you want to proceed? (Y/N): y    #确定写入
OK; writing new GUID partition table (GPT) to /dev/sdb.
The operation has completed successfully.
[[email protected] ~]# mkfs.xfs  /dev/sdb1  #格式化 

例2: 修改fstab重启系统后,系统报错:

  • 重启后报错:
    Centos7.5-硬盘介绍和磁盘管理

输入root密码: 123456
把fstab中新添加开机自动加载项目删除:

Centos7.5-硬盘介绍和磁盘管理
然后reboot
Linux架构师高薪入口:
1.学神IT教育官方网站: http://xuegod.ke.qq.com
2.10年行业资深老鸟MK:QQ2659153446
3.加入Linux技术交流QQ群:722287089,即可获得以下福利:
①定期分享免费学习资料与视频(工具+笔记+拓展实战)
②10年行业资深老鸟在线答疑:技能+实战+项目分享+高薪就业
③有机会免费领取Linux云计算集群架构师4册书籍

12.3 实战扩展swap分区

Swap分区在系统的物理内存不够用的时候,把硬盘空间中的一部分空间释放出来,以供当前运行的程序使用。

  • mkswap /devices (格式化成swap格式)
  • swapon /swap (**/swap,加入到swap分区中)

vim /etc/fstab (开机自启动新添加的swap分区) ,在最后追加:

  • /devices swap swap defaults 0 0

  • 如果不想使用需要删除,只需要执行#swapoff /swap

12.3.1 先分个区

[[email protected] ~]# gdisk  /dev/sdb
...
Command (? for help): n  #新建分区
Partition number (2-128, default 2):     #回车
First sector (34-41943006, default = 2099200) or {+-}size{KMGTP}:  #回车
Last sector (2099200-41943006, default = 41943006) or {+-}size{KMGTP}: +1G  #给1G
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):  #回车
Changed type of partition to 'Linux filesystem'

Command (? for help): w  #保存
Do you want to proceed? (Y/N): y

格式化swap

[[email protected] ~]# mkswap /dev/sdb2
正在设置交换空间版本 1,大小 = 2097148 KiB
无标签,UUID=dc41b5ef-bcf1-477c-902e-c5bb00d41c1e

验证:

[[email protected] ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:            977         557          75          16         345         168
Swap:          2047         234        1813
[[email protected] ~]# swapon /dev/sdb2   ---开启
[[email protected] ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:            977         556          75          16         345         169
Swap:          3071         234        2837
[[email protected] ~]# swapoff /dev/sdb2    ---关闭
[[email protected] ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:            977         556          75          16         345         169
Swap:          2047         234        1813
[[email protected] ~]# swapon -s
Filename				Type		Size	Used	Priority
/dev/dm-1                              	partition	2097148	240532	-1
[[email protected] ~]# swapon /dev/sdb2
[[email protected] ~]# swapon -s  #查看
Filename				Type		Size	Used	Priority
/dev/dm-1                              	partition	2097148	240532	-1
/dev/sdb2                              	partition	1048572	0	-2

12.3.2 通过文件增加SWAP空间

[[email protected] ~]# dd if=/dev/zero of=swap_file bs=1M count=500
[[email protected] ~]# ll /root/swap_file
[[email protected] ~]# chmod 0600 /root/swap_file
[[email protected] ~]# mkswap -f /root/swap_file 
[[email protected] ~]# swapon /root/swap_file
[[email protected] ~]# free -m

Linux架构师高薪入口:
1.学神IT教育官方网站: http://xuegod.ke.qq.com
2.10年行业资深老鸟MK:QQ2659153446
3.加入Linux技术交流QQ群:722287089,即可获得以下福利:
①定期分享免费学习资料与视频(工具+笔记+拓展实战)
②10年行业资深老鸟在线答疑:技能+实战+项目分享+高薪就业
③有机会免费领取Linux云计算集群架构师4册书籍
微信公众号:
Centos7.5-硬盘介绍和磁盘管理
MK老师微信号:
Centos7.5-硬盘介绍和磁盘管理
总结:

  • 12.1 存储的基本知识
  • 12.2 硬盘分区介绍
  • 12.3 磁盘分区工具
  • 12.2 实战扩展swap分区