一、磁盘的基本分区Gdisk
当我们查看磁盘的时候,我们首先要看磁盘是那种分区格式的,如果是MBR分区格式,我们最好使用fdisk –l,要是为GPT分区格式的硬盘,我们就使用gdisk –l来查看。因为fdisk查看GPT格式的磁盘最大能看到2T,再多的磁盘分区就无法查看,还会出错。
1、分区
#1.安装gdisk分区工具
[root@oldboy ~]# yum install gdisk -y
#2.创建一个新分区,500MB大小
[root@oldboy ~]# gdisk /dev/sdb
Command (? for help): n #创建新分区
Partition number (1-128, default 1):
First sector (34-2097118, default = 2048) or {+-}size{KMGTP}:
Last sector (2048-2097118, default = 2097118) or {+-}size{KMGTP}: +500M #分配500M大小
Current type is 'Linux filesystem' #当前类型为“Linux文件系统”
Hex code or GUID (L to show codes, Enter = 8300): #十六进制代码或guid(L表示代码):
Changed type of partition to 'Linux filesystem' #已将分区类型更改为“Linux文件系统”
Command (? for help): p #打印查看
Number Start (sector) End (sector) Size Code Name
1 2048 1026047 500.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.
2、格式化
[root@oldboy ~]# mkfs.xfs /dev/sdb
3、挂载
[root@oldboy ~]# mkdir /data_gdisk
[root@oldboy ~]# mount /dev/sdb /data_gdisk
二、磁盘挂载方式Mount
如果需要使用磁盘的空间,需要准备一个空的目录作为挂载点,与该设备进行关联。
mount主要是为文件系统指定一个访问入口。
1、挂载
mount进行挂载,但重启将会失效。我们称为临时生效。
# 选项:
#-t 指定文件系统挂载分区
#-a 挂载/etc/fstab中的配置文件
#-o 指定挂载参数 rw,ro
# 挂载/dev/sdb1至db1目录
[root@oldboy ~]# mkdir /db1
[root@oldboy ~]# mount -t xfs /dev/sdb1 /db1/
#将/dev/sdc2挂载至/sdc_back目录,但只允许读,不允许写
[root@oldboy ~]# mount -o ro -t xfs /dev/sdb1 /db1
[root@oldboy /db1]# touch file
touch: cannot touch ‘file’: Read-only file system
#通过设备的UUID进行挂载(UUID==身份证)
[root@oldboy ~]# blkid #查看所有设备的UUID
[root@oldboy ~]# mount UUID="fb112fea-b369-497e-a6df-4fa8763d0aa6" /db1
2、卸载
#选项: -l 强制卸载
#1.卸载目录方式
[root@oldboy ~]# umount /db1
#2.卸载设备方式
[root@oldboy ~]# umount /dev/sdb1
#3.umount不能卸载的情况
[root@oldboy /db1]# umount /db1
umount: /db1: device is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1)
#PS: 如上情况解决办法有两种, 1.切换至其他目录 2.使用'-l'选项强制卸载
[root@oldboy /db1]# umount -l /db1
3、永久挂载
如果需要实现永久挂载则需要将挂载信息写入/etc/fstab配置文件中实现。
#1.使用blkid命令获取各设备的UUID
[root@oldboy ~]# blkid |grep "sdb1"
/dev/sdb1: UUID="e271b5b2-b1ba-4b18-bde5-66e394fb02d9" TYPE="xfs"
#2.使用UUID挂载磁盘sdb1分区至于db1, 测试挂载
[root@oldboy ~]# mount UUID="e271b5b2-b1ba-4b18-bde5-66e394fb02d9" /db1
#3.写入/etc/fstab中,实现开机自动挂载
[root@oldboy ~]# tail -1 /etc/fstab
UUID=e271b5b2-b1ba-4b18-bde5-66e394fb02d9 /db1 xfs defaults 0 0
#4.加载fstab配置文件, 同时检测语法是否有错误
[root@oldboy ~]# mount –a
(1)/etc/fstab配置文件编写格式
要挂载的设备 | 挂载点(入口) | 文件系统类型 | 挂载参数 | 是否备份 | 是否检查 |
---|---|---|---|---|---|
/dev/sdb1 | /db1 | xfs | defaults | 0 | 0 |
(2)第四列:挂载参数
参数 | 含义 |
---|---|
async/sync | 是否为同步方式运行。默认async |
user/nouser | 是否允许普通用户使用mount命令挂载。默认nouser |
exec/noexe | 是否允许可执行文件执行。默认exec |
suid/nosuid | 是否允许存在suid属性的文件。默认suid |
auto/noauto | 执行mount -a 命令时,此文件系统是否被主动挂载。默认auto |
rw/ro | 是否以只读或者读写模式进行挂载。默认rw |
default | 具有rw,suid,dev,exec,auto,nouser,async等默认参数的设定 |
(3)第五列:是否进行备份。通常这个参数的值为0或者1
选项 | 含义 |
---|---|
0 | 代表不做备份 |
1 | 代表要每天进行备份操作 |
2 | 代表不定日期的进行备份操作 |
(4)第六列:是否检验扇区
开机的过程中,系统默认会以fsck检验我们系统是否为完整
选项 | 含义 |
---|---|
0 | 不要检验磁盘是否有坏道 |
1 | 检验 |
2 | 校验 (当1级别检验完成之后进行2级别检验) |
三、虚拟磁盘介绍SWAP
Swap分区在系统的物理内存不够时,将硬盘空间中的一部分空间释放出来,以供当前运行的程序使用。当物理内存不够时会随机kill占用内存的进程,从而产生oom,临时使用swap可以解决。
1.创建分区,并格式化为swap分区。
[root@oldboy ~]# fdisk /dev/sdb #分1个G大小
[root@oldboy ~]# mkswap /dev/sdb1 #格式化为swap
2.查看当前swap分区大小,然后进行扩展和缩小
[root@oldboy ~]# free -m
total used free shared buff/cache available
Mem: 1980 1475 80 10 424 242
Swap: 2047 4 2043
#1.扩展swap分区大小
[root@oldboy ~]# swapon /dev/sdb2
[root@oldboy ~]# free -m
total used free shared buff/cache available
Mem: 1980 1475 80 10 424 242
Swap: 3047 4 2043
[root@oldboy ~]# swapon -a #代表激活所有的swap
#2.缩小swap分区大小
[root@oldboy ~]# swapoff /dev/sdb1
[root@oldboy ~]# free -m
total used free shared buff/cache available
Mem: 1980 1475 80 10 424 242
Swap: 2047 4 2043
[root@oldboy ~]# swapoff -a #代表关闭所有的swap
3.检查当前swap分区有哪些设备
[root@oldboy ~]# swapon -s
文件名 类型 大小 已用 权限
/dev/dm-1 partition 2097148 4616 -2
/dev/sdb1 partition 1048572 0 -2
四、磁盘阵列
1、什么是磁盘阵列
提高磁盘的整体读写能力,和冗余能力,通常我们将其称为磁盘阵列。
2、RAID
提高性能
保证安全
3、RAID模式
(1)RAID0
#mdadm命令
#作用:管理RAID
#选项
#-A 激活磁盘阵列
#-C 建立一个新阵列
#-D 打印阵列设备的信息
#-G 改变阵列大小或形态
#-S 停止阵列
#-r 移除设备
#-l 设定磁盘阵列的级别
#-n 指定阵列磁盘的数量
#-x 指定阵列中备用盘的数量
#-f 将设备状态定为故障
#-a 添加设备到阵列
#软RAID0
#1.创建raid0
[root@oldboy ~]# mdadm -C -v /dev/md0 -l 0 -n 2 /dev/sdb /dev/sdc
#2.查看阵列信息
[root@oldboy ~]# mdadm -D /dev/md0
#3.对创建的RAID0进行文件系统创建并挂载
[root@oldboy ~]# mkfs.xfs /dev/md0
[root@oldboy ~]# mkdir /raid0
[root@oldboy ~]# mount /dev/md0 /raid0/
[root@oldboy ~]# df -Th /raid0/
(2)RAID1
#软RAID1
#1.创建raid1
[root@oldboy ~]# mdadm -C -v /dev/md1 -l 1 -n 2 -x 1 /dev/sdd /dev/sde /dev/sdf
#2.查看 RAID 阵列信息
[root@oldboy ~]# mdadm -D /dev/md1
#3.在RAID设备上创建文件系统
[root@oldboy ~]# mkfs.xfs /dev/md1
[root@oldboy ~]# mkdir /raid1
[root@oldboy ~]# mount /dev/md1 /raid1/
[root@oldboy ~]# cp /etc/passwd /raid1/
#-f 将设备视为故障
[root@oldboy ~]# mdadm /dev/md1 -f /dev/sde
#-r 移除损坏的设备:
[root@oldboy ~]# mdadm -r /dev/md1 /dev/sde
#-a 重新在添加一块新热备盘
[root@oldboy ~]# mdadm -a /dev/md1 /dev/sde
(3)RAID5
#软RAID5
#1.创建raid5
[root@oldboy ~]# mdadm -C -v /dev/md5 -l 5 -n 3 -x 1 /dev/sdg /dev/sdh /dev/sdi /dev/sdj
#2.格式化RAID5,并挂载使用
[root@oldboy ~]# mkfs.xfs /dev/md5
[root@oldboy ~]# mkdir /raid5
[root@oldboy ~]# mount /dev/md5 /raid5/
#3.检查RAID详情
[root@oldboy ~]# mdadm -D /dev/md5