磁盘管理与文件系统

省流助手: 刷新:scan、partprobe、mount -a
alias scan='echo "- - -" > /sys/class/scsi_host/host0/scan;echo "- - -" >
/sys/class/scsi_host/host1/scan;echo "- - -" > /sys/class/scsi_host/host2/scan'
设置一个别名,将硬件刷新的过程直接赋予给别名,方便后续使用
fdisk /dev/sd.. gdisk /dev/sd.. linux——83/8300 swap——82/8200
lsblk 查看 fdisk /dev/sd.. -p查看
mkfs.xfs /dev/sd.. mkswap /dev/sd.. -----格式化
mount /存储设备 /挂载点目录/ umount 取消挂载

磁盘:

  • 盘片:硬盘有多个盘片,每盘片有2面(正反两面)

  • 永磁铁:机械硬盘的存储方式与磁带比较类似,磁体具有记忆的功能,永磁铁是为了保证磁性的稳定。

  • 主轴:保证电机稳定的转动,磁盘转动才能读出数据。

  • 空气过滤片:过滤空气硬盘透气孔中进入的空气,保证硬盘内部清洁,同时还可以防止硬盘内部的零件氧化,确保硬盘安全使用。

  • 磁盘:硬盘一般都是铝合金制作的,主要是用来存储文件的。

  • 磁头:使用来读取盘片上的信息

全局唯一标识分区表(GUID Partition Table,缩写:GPT)


GPT是一个实体硬盘的分区结构。它是可扩展固件接口标准的一部分,用来替代BIOS中的主引导记录分区表。 传统的主启动记录(MBR)磁盘分区支持最大卷为2.2TB,每个磁盘最多有4个主分区,或3个主分区、1个扩展分区和在扩展分区里面分多个逻辑分区。

与MBR分区方法相比,GPT具有更多的优点,因为它允许每个磁盘有多达128个分区,支持高达18EB(千兆兆字节)的卷大小,允许将主磁盘分区表和备份磁盘分区表用于冗余,还支持唯一的磁盘和分区 ID (GUID)。

硬盘接口类型


  • IDE:并口数据线连接主板与硬盘,抗干扰性太差,且排线占用空间较大,不利电脑内部散热,已逐渐被SATA所取代。

  • SATA:抗干扰性强,支持热插拔等功能,速度快,纠错能力强。

  • SCSI:小型机系统接口,SCSI 硬盘广为工作站级个人电脑以及服务器所使用,资料传输时CPU占用率较低,转速快,支持热插拔等。

  • SAS:是新一代的SCSI 技术,和SATA硬盘相同,都是采取序列式技术以获得更高的传输速度,可达到6Gb/s

服务器硬盘大小


LFF:3.5寸,一般见到的那种台式机硬盘的大小

SFF:Small Form Factor 小形状因数,2.5寸,注意不同于2.5寸的笔记本电脑

L、S分别是大小的意思,目前服务器或者盘柜采用sff规格的硬盘主要是考虑增大单位密度的磁盘容量、增强散热、减小功耗。

机械与固态


  • 机械硬盘(HDD):Hard Disk Drive,即是传统普通硬盘,主要由:盘片、磁头,盘片转轴及控制电机,磁头控制器,数据转换器,接口,缓存等几个部分组成。机械硬盘中所有的盘片都装在一个旋转轴上,每张盘片之间是平行的,在每个盘片的存储面上有一个磁头,磁头与盘片之间的距离比头发丝的直径还小,所有的磁头连在一个磁头控制器上,由磁头控制器负责各个磁头的运动。磁头可沿盘片的半径方向运动,加上盘片每分钟几千转的高速旋转,磁头就可以定位在盘片的指定位置上进行数据的读写操作。数据通过磁头由电磁流来改变极性方式被电磁流写到磁盘上,也可以通过相反方式读取。硬盘为精密设备,进入硬盘的空气必须过滤。

  • 固态硬盘(SSD):Solid State Drive,用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元(FLASH芯片、DRAM芯片)组成。固态硬盘在接口的规范和定义、功能及使用方法上与普通硬盘的完全相同,在产品外形和尺寸上也与普通硬盘一致。

  • 相较于HDD,SDD在防震抗摔、传输速率、功耗、重量、噪音上有明显优势,SDD传输速率性能是HDD的2倍。

  • 相较于SSD,HDD在价格、容量占有绝对优势。

  • 硬盘有价,数据无价,SSD不能完全取代HHD。

Device (设备) :分区的设备文件名称。

Boot:是否是引导分区。若是,则有"*"标识。

Start:该分区在硬盘中的起始位置(柱面数)

End:该分区在硬盘中的结束位置(柱面数)

Blocks:分区的大小,以Blocks (块)为单位,默认的块大小为1024字节。

Id:分区对应的系统 ID 号。例如,83表示Linux中的XFS分区或EXT4分区、82代表交换文件系统、8e表示LVM逻辑卷。

MBR与磁盘分区表示


主引导记录(MBR:Master Boot Record)

  • MBR位于硬盘第一个物理扇区处

  • MBR中包含硬盘的主引导程序和硬盘分区表

  • 分区表有4个分区记录区,每个分区记录区占16个字节。

  • Linux中将硬盘、分区等设备均表示为文件

/dev/hda5

分区的原因:

  • 优化I/O性能

  • 实现磁盘空间配额限制

  • 提高修复速度

  • 隔离系统和程序

  • 安装多个os

  • 采用不同文件系统

分区的优点:

  • 便于管理

  • 优化读写性能

分区的缺点:

  • 一旦建立无法修改,如果要修改,只能推导重建,重新格式化,数据丢失

  • 不够灵活 ,空间只能来自于一块硬盘,并且必须是连续的空间

  • 没有备份冗余功能,没有备份,需要依靠工程师手动备份

alias scan='echo "- - -" > /sys/class/scsi_host/host0/scan;echo "- - -" > /sys/class/scsi_host/host1/scan;echo "- - -" > /sys/class/scsi_host/host2/scan'
设置一个别名,将硬件刷新的过程直接赋予给别名,方便后续使用

fdisk

交互模式中的常用指令

m、p、 n、 d、 t、 w、q

m:获取帮助菜单

n:新建分区

p:查看分区情况

d:删除分区

t:变更分区的类型

w:保存分区操作并退出

q:不保存分区操作并退出

1.若磁盘小于2TB,可用fdisk /dev/sdb 进行分区,即MBR 分区格式

2.若磁盘大于2TB,可用parted /dev/sdb 进行分区,因为MBR分区磁盘是不能大于2.2TB,所以超过2TB一般使用GPT

分区格式


管理磁盘分区:

fdisk /dev/sdb

交互模式中的常用指令:

m:获取帮助菜单

n:新建分区

p:查看分区情况

d:删除分区

t:变更分区的类型

w:保存分区操作并退出

q:不保存分区操作并退出

创建分区步骤

n

--> p 主分区、e 扩展分区、l 逻辑分区

--> 设置分区:1 (范围1-4,如按 Enter 键接受默认值)

--> 设置柱面序列:直接按 Enter 键接受默认值

--> 设置分区大小:+20G (指定大小为 20GB,如按 Enter 键接受默认值表示所有空间)

变更硬盘(特别是正在使用的硬盘)的分区设置以后,建议最好将系统重启一次,或者执行“partprobe”命令使操作系统检测新的分区表情况。以防格式化分区时损坏硬盘中已有的数据。(刷新)

命令格式:mkfs -t 文件系统类型 分区设备

mkfs.文件系统类型 分区设备

示例: mkfs -t xfs /dev/sdb1

mkfs.xfs /dev/sdb1

创建交换文件系统-------mkswap


命令格式:mkswap 分区设备

创建交换文件系统

创建swap之前,目标分区应先通过fdisk 工具将分区类型ID 号设为 82

fdisk /dev/sdb

-->t

-->2

-->82

mkswap /dev/sdb5 #格式化交换分区

swapon /dev/sdb5#启用新增加的交换分区

swapoff /dev/sdb5#停用指定的交换分区

swapon -s #查看每个分区的swap状态信息

free -m#查看总的swap状态信息

挂载前先格式化

挂载文件系统、ISO镜像到指定文件夹

mount [-t 类型] 存储设备 挂载点目录

-t:用于指定文件系统类型,通常可以省略,由系统自动识别

-o:挂载参数列表,以英文逗号分隔;如用来描述特殊设备,用loop指定

挂载文件系统


mkfs.[类型] /挂载位置 ------格式化

mount /存储设备 /挂载点目录/

[root@localhost ~]# mkfs.xfs /dev/sdb3
meta-data=/dev/sdb3              isize=512    agcount=4, agsize=327616 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=1310464, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@localhost ~]# mount /dev/sdb3  /opt/xxx/
[root@localhost ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   50G  0 disk 
├─sda1   8:1    0  300M  0 part /boot
├─sda2   8:2    0    3G  0 part [SWAP]
└─sda3   8:3    0 46.7G  0 part /
sdb      8:16   0   20G  0 disk 
├─sdb1   8:17   0   10G  0 part 
├─sdb2   8:18   0    1K  0 part 
└─sdb3   8:19   0    5G  0 part /opt/xxx
sr0     11:0    1   54M  0 rom  
sr1     11:1    1  4.2G  0 rom  /run/media/richard/CentOS 7 x86_64

mount -a 刷新挂载

卸载已挂载的文件系统


卸载前提:挂载的设备或者目录没有被在使用中,要先退出挂载目录

umount [-lf] 存储设备目录或者挂载点目录

-l 表示解除正在繁忙的文件系统

-f 表示强制

查看磁盘使用情况


1.直接 mount 命令

从后往前删逻辑分区不会出现,从前往后删,会出现问题

挂载的时候使用UUID进行挂载

2. df [选项]

-h:显示分区的容量单位

-T:显示文件系统的类型

-i:显示分区的inode号码数量

自动挂载:


vim /etc/fstab

  • /dev/sdb1 /opt xfs defaults 0 0

  • /dev/sr0 /mnt iso9660 defaults 0 0

| 选项 | 功能 |

| ----------- | ------------------------------------------------------------ |

| rw/ro | 是否对挂载的文件系统拥有读写权限,rw 为默认值,表示拥有读写权限;ro 表示只读权限。 |

| async/sync | 此文件系统是否使用同步写入(sync)或异步(async)的内存机制,默认为异步 async。 |

| dev/nodev | 是否允许从该文件系统的 block 文件中提取数据,为了保证数据安装,默认是 nodev。 |

| auto/noauto | 是否允许此文件系统被以 mount -a 的方式进行自动挂载,默认是 auto。 |

| suid/nosuid | 设定文件系统是否拥有 SetUID 和 SetGID 权限,默认是拥有。 |

| exec/noexec | 设定在文件系统中是否允许执行可执行文件,默认是允许。 |

| user/nouser | 设定此文件系统是否允许让普通用户使用 mount 执行实现挂载,默认是不允许(nouser),仅有 root 可以。 |

| defaults | 定义默认值,相当于 rw、suid、dev、exec、auto、nouser、async 这 7 个选项。 |

| remount | 重新挂载已挂载的文件系统,一般用于指定修改特殊权限。 |v

该数字决定在系统启动时进行磁盘检查的顺序。0 表示不进行检查,1 表示优先检查,2 表示其次检查。根分区应设为 1,其他分区设为 2。

了解一下:

parted:

操作实例:

1、选择分区硬盘

首先类似fdisk一样,先选择要分区的硬盘,此处为/dev/hdd: ((parted)表示在parted中输入的命令,其他为自动打印的信息)

# parted /dev/hdd
GNU Parted 1.8.1
Using /dev/hdd
Welcome to GNU Parted! Type 'help' to view a list of commands.

2、创建分区

选择了/dev/hdd作为我们操作的磁盘,接下来需要创建一个分区表(在parted中可以使用help命令打印帮助信息):

(parted) mklabel
New disk label type? gpt    #我们要正确分区大于2TB的磁盘,应该使用gpt方式的分区表,输入gpt后回车

3、完成分区操作

创建好分区表以后,接下来就可以进行分区操作了,执行mkpart命令,分别输入分区名称,文件系统和分区 的起止位置

(parted) mkpart
Partition name? []? dp1
File system type? [ext2]? ext4
Start? 0           (可以用百分比表示,比如Start? 0% , End? 50%)
End? 500GB

4、验证分区信息

分好区后可以使用print命令打印分区信息,下面是一个print的样例

(parted) print
Model: VBOX HARDDISK (ide)
Disk /dev/hdd: 2199GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 17.4kB 500GB 500GB dp1

5、删除分区示例

如果分区错了,可以使用rm命令删除分区,比如我们要删除上面的分区,然后打印删除后的结果

(parted) rm 1               #rm后面使用分区的号码,就是用print打印出来的Number
(parted) print
Model: VBOX HARDDISK (ide)
Disk /dev/hdd: 2199GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags

6.格式化操作,完成后即可挂载使用

# mkfs.ext4 /dev/hdd1
# mkdir /data
# mount /dev/hdd1 /data

7.最后加入/etc/fstab自动挂载

# vi /etc/fstab
/dev/sdd1               /data                   ext4    defaults        0 0
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

R1chArd_TvT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值