一、硬盘管理

1.硬盘分类

机械硬盘HHD

固态硬盘SSD

2.硬盘常见接口

IDE (已被淘汰)

SATA I/II/III

SCSI (服务器级)

SAS

3. Linux 磁盘命名

  • 磁盘命名

第一个磁盘 sda,第二个磁盘 sdb,第三个磁盘sdc ...... (最后一位根据字母顺延

  • 分区命名

第一个分区sda1,第二个sda2....... (前边为磁盘名,最后一位按数字顺延,逻辑分区从5开始

4. MBR

MBR <2TB fdisk 4个主分区或者3个主分区+1个扩展分区(N个逻辑分区 )

Master Boot Record , 主引导记录,是用来引导启动操作系统的区域,在硬盘的最前面的512个字节

由三部分组成:

Bootloader,主引导程序,引导操作系统的主程序(446字节

② DPT 分区表(Disk Partition Table),(64字节

保存磁盘分区信息,每个分区信息占用16字节,也就说最多只能有四个主分区,保存的信息有文件系统标识、起止柱面号、磁头号、扇区号、起始扇区位置(4个字节)、分区总扇区数目(4个字节)等内容

逻辑分区的分区信息保存在扩展分区内而不是保存在MBR分区表内

分区描述
主分区最多四个
扩展分区只能有一个,扩展分区不能直接使用
**注意:命名只能是`/dev/sda[1
234]`**
逻辑分区逻辑分区在扩展分区上划分的
注意:第一个逻辑分区命名为 /dev/sda5

③ 校验位(2字节

5.GPT

GPT >2TB gdisk(parted) 128个主分区

使用 gdisk进行分区

6.文件系统

文件系统是用来组织数据在存储介质上的存储方式以及检索方式的。

Linux : ext4xfs

Windows: fat32ntfs

二、分区管理

1.查看

命令描述
lsblk查看系统的块设备
df -h查看正在挂载的设备情况
fdisk -l查看当前系统的所有设备分区情况

2.新建分区

小于2TB时候使用 fdisk

大于2TB时候使用gdisk

#对指定硬盘进行分区操作
fdisk /dev/(磁盘名)

查看帮助:m

①创建新分区

②刷新分区表

查看 /dev/sd* 有没有对应文件

没有则刷新:

partprobe /dev/sd*

③格式化分区

# 方法1
mkfs -t xfs /dev/sdb1
#方法二
mkfs.xfs /dev/sdb1

-t表示指定文件系统

④挂载

手动挂载

mount -t xfs /dev/sdb1 /sdb1

3.新建扩展分区

步骤

第一步:新建扩展分区 (fdisk=>n=>p

第二步:新建逻辑分区(n=>l

第三步:保存退出(w

第四步:刷新(# partprobe /dev/sd*

第五步:挂载(mount

4.删除分区

注意:删除前需要取消挂载,删除后需要刷新# partprobe /dev/sd*

fdisk 磁盘名 => p(查看编号) => d 编号

5.直接使用磁盘

# 第一步,格式化磁盘
mkfs -t xfs /dev/sdc
# 第二步,挂载,注意,直接使用磁盘名挂载
mount -t xfs /dev/sdc /sdc

三、挂载

mount(挂载)

mount [选项] 设备 挂载点

常用参数

参数描述
-o挂载选项,例如rorwremount
-t指定文件系统,例如 xfsext4

umount(取消挂载)

umount 挂载点

blkid

查看块设备的文件系统类型、LABEL、UUID等信息

e2label

设置卷标

1.通过设备名挂载

mount /dev/sdb2 /sdb2

2.通过UUID挂载

# 1.查看UUID
[root@mysql ~]# blkid /dev/sdb1
/dev/sdb1: UUID="1344da9e-0398-421b-9a98-cfcf3af3ab9b" TYPE="xfs"
# 2.挂载
mount UUID="1344da9e-0398-421b-9a98-cfcf3af3ab9b" /sdb1

3.通过卷标挂载

注意: e2label只能够对ext2~ext4的文件系统设置卷

# 0.如果文件格式不是ext4,先进行格式化
mkfs.ext2 /dev/sdb2
# 1.设置卷标
[root@mysql ~]# e2label /dev/sdb2 Test01
# 2.查看卷标
[root@mysql ~]# blkid /dev/sdb2
/dev/sdb2: LABEL="Test01" UUID="9b157dec-21e7-40fc-95ca-b009565d68f2" TYPE="ext2"
# 3.挂载
[root@mysql ~]# mount LABEL="Test01" /sdb2/

四、开机自动挂载

方法一

修改配置文件/etc/fstab

挂载选项

选项描述
defaults同时包含rw, dev, exec, acl, async,nouser等参数
user/nouser异步/同步
auto/noauto自动/非自动
rw/ro读写/只读
exec/noexec自动/非自动
remount重新挂在一个已经挂载的文件系统
user/nouser允许/不允许其他普通用户挂载
suid/nosuid具有/不具有suid权限

使之生效

# 重新读取 /etc/fstab 文件内容
mount -a

方法二

echo "mount -o ro /dev/sr0 /mnt" >> /etc/rc.local
#注意: Centos7 需要给rc.local加执行权限
chmod +x /etc/rc.d/rc.local

五、自动挂载

autofs 是一个守护进程,如果它检测到用户正在访问一个尚未挂载的文件系统,如果存在,autofs 会自动将其挂载;如果它检测到某个已经挂载的文件系统在一段时间内没有被使用,那么 autofs 会自动将其卸载。

挂载是由访问产生;卸载是由超时产生

安装软件

yum install autofs

要求1:将 /dev/sdb2 挂在到 /sdb2/test2

# 修改主配置文件
echo '/sdb2  /etc/auto.test -t 60'  >>  /etc/auto.master
# 创建子配置文件
echo 'test2 -fstype=xfs,rw :/dev/sdb2'  > /etc/auto.test

要求2:将 /dev/sdb2 挂在到 /sdb2

# 修改主配置文件
echo '-  /etc/auto.test -t 60'  >>  /etc/auto.master
# 创建子配置文件
echo '/sdb2 -fstype=xfs,rw :/dev/sdb2'  > /etc/auto.test

重启服务

service autofs restart

六、扩展

1.扩容swap空间

方法1

注意:该方法重启系统后失效

# 格式化磁盘,格式为swap
mkswap /dev/sdb3
# 查看
blkid /dev/sdb3
# 激活
swapon /dev/sdb3
# 查看
swapon -s

设置永久生效# vim /etc/fstab 或者修改rc.local添加自动挂载

/dev/sdb3   swap   swap   defaults 0 0

方法2

#1.模拟大文件来扩容swap
dd if=/dev/zero of=/tmp/swap_file bs=1G count=1
#2.格式化
mkswap /tmp/swap_file
#3.查看swap空间信息
swapon -s
#4.激活
swapon /tmp/swap_file

#5.开启或关闭特定swap空间
swapoff 设备名
swapon 设备名

dd

if=源文件
of=目标文件
bs=复制数据的大小
count=复制的个数

设置永久生效# vim /etc/fstab 或者修改rc.local添加自动挂载

/dev/swap_file   swap   swap   defaults 0 0
Last modification:October 18th, 2019 at 10:58 pm