一,磁盘的基本分区Gdisk
fdisk不支持给高于2T的磁盘进行分区,如果有单块盘高于2TB,建议使用Gdisk进行分区
1.使用gdisk进行磁盘分区
1.安装gdisk分区工具
[root@oldboyfang ~] yum install gdisk -y
2.创建一个新分区,500MB大小
[root@oldboyfang ~] 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大小
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.
3.创建完成后,可以尝试检查磁盘是否为gpt格式
[root@oldboyfang-node1 /] fdisk /dev/sdb -l|grep type
Disk label type: gpt
4.安装parted, 刷新内核立即生效,无需重启
[root@oldboyfang ~] yum -y install parted
[root@oldboyfang ~] partprobe /dev/sdb
使用mkfs进行格式化磁盘。
[root@oldboyfang ~] mkfs.xfs /dev/sdb
使用mount命令将某个目录挂载该分区,进行使用
[root@oldboyfang ~] mkdir /data_gdisk
[root@oldboyfang ~] mount /dev/sdb /data_gdisk
二,磁盘挂载方式mount
通过mount进行挂载,但重启将会失效。我们称为临时生效。
选项:-t指定文件系统挂载分区 -a 挂载/etc/fstab中的配置文件 -o 指定挂载参数
挂载/dev/sdb1至db1目录
[root@oldboyfang ~] mkdir /db1
[root@oldboyfang ~] mount -t xfs /dev/sdb1 /db1/
挂载的磁盘,如果不想使用可以使用umount进行卸载。
选项: -l 强制卸载
1.卸载目录方式
[root@oldboyfang ~] umount /db1
2.卸载设备方式
[root@oldboyfang ~] umount /dev/sdb1
3.umount不能卸载的情况
[root@oldboyfang 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@fangleishan db1] umount -l /db1
如果需要实现永久挂载则需要将挂载信息写入/etc/fstab配置文件中实现。
1.使用blkid命令获取各设备的UUID
[root@fangleishan ~] blkid |grep "sdb1"
/dev/sdb1: UUID="e271b5b2-b1ba-4b18-bde5-66e394fb02d9" TYPE="xfs"
2.使用UUID挂载磁盘sdb1分区至于db1, 测试挂载
[root@fangleishani~] mount UUID="e271b5b2-b1ba-4b18-bde5-66e394fb02d9" /db1
3.写入/etc/fstab中,实现开机自动挂载
[root@fangleishan ~] tail -1 /etc/fstab
UUID=e271b5b2-b1ba-4b18-bde5-66e394fb02d9 /db1 xfs defaults 0 0
4.加载fstab配置文件, 同时检测语法是否有错误
[root@fangleishan ~] mount –a
三,/etc/fstab配置文件编写格式
要挂载的设备 | 挂载点(入口) | 文件系统类型 | 挂载参数 | 是否备份 | 是否检查 |
---|---|---|---|---|---|
/dev/sdb1 | /db1 | sfx | defaults | 0 | 0 |
1).第四列:挂载参数。挂载参数有很多
参数 | 含义 |
---|---|
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等默认参数的设定 |
6).第六列:是否检验扇区:开机的过程中,系统默认会以fsck检验我们系统是否为完整
选项 | 含义 |
---|---|
0 | 不要检验磁盘是否有坏道 |
1 | 检验 |
2 | 效验 (当1级别检验完成之后进行2级别检验) |
虚拟磁盘介绍SWAP
Swap分区在系统的物理内存不够时,将硬盘空间中的一部分空间释放出来,以供当前运行的程序使用
PS: 当物理内存不够时会随机kill占用内存的进程,从而产生oom,临时使用swap可以解决。
1.创建分区,并格式化为swap分区。
[root@fangleishan ~] fdisk /dev/sdb 分1个G大小
[root@fangleishan ~] mkswap /dev/sdb1 格式化为swap
2.查看当前swap分区大小,然后进行扩展和缩小
[root@fangleishan ~] free -m
total used free shared buff/cache available
Mem: 1980 1475 80 10 424 242
Swap: 2047 4 2043
1.扩展swap分区大小
[root@fangleishan ~] swapon /dev/sdb2
[root@fangleishan ~] free -m
total used free shared buff/cache available
Mem: 1980 1475 80 10 424 242
Swap: 3047 4 2043
[root@fangleishan ~] swapon -a 代表激活所有的swap
2.缩小swap分区大小
[root@fangleishan ~] swapoff /dev/sdb1
[root@fangleishan ~] free -m
total used free shared buff/cache available
Mem: 1980 1475 80 10 424 242
Swap: 2047 4 2043
[root@fangleishan ~] swapoff -a 代表关闭所有的swap
3.检查当前swap分区有哪些设备
[root@fangleishan ~] swapon -s
文件名 类型 大小 已用 权限
/dev/dm-1 partition 2097148 4616 -2
/dev/sdb1 partition 1048572 0 -2
4.如果磁盘没有过多的分区可用,也可以通过文件增加SWAP空间,本质上还是磁盘
[root@fangleishan ~] dd if=/dev/zero of=/opt/swap_file bs=1M count=500
[root@fangleishan ~] chmod 0600 /opt/swap_file
[root@fangleishan ~] mkswap -f /opt/swap_file
[root@fangleishan ~] swapon /opt/swap_file
[root@fangleishan ~] free -m
PS: 如果希望swap开机自动挂载,将swap信息追加至/etc/fstab即可。
swap交换分区 (磁盘充当内存)
- 内存不够,有配置swap又会出现什么情况?
1.会使用swap充当内容使用,防止系统出现oom故障
2.如果使用了swap,系统会变得特别的卡
1.创建分区,并格式化为swap分区。
[root@fangleishan ~] fdisk /dev/sdb #分1个G大小
[root@fangleishan ~] mkswap /dev/sdb1 #格式化为swap
2.查看当前swap分区大小,然后进行扩展和缩小
[root@fangleishan ~] free -m total used free shared buff/cache available Mem: 1980 1475 80 10 424 242 Swap: 2047 4 2043
1.扩展swap分区大小
[root@fangleishan ~] swapon /dev/sdb2
[root@fangleishan ~] free -m total used free shared buff/cache available Mem: 1980 1475 80 10 424 242 Swap: 3047 4 2043
[root@fangleishan ~] swapon -a 代表激活所有的swap
2.缩小swap分区大小
[root@fangleishan ~] swapoff /dev/sdb1 [root@fangleishan ~] free -m total used free shared buff/cache available Mem: 1980 1475 80 10 424 242 Swap: 2047 4 2043
[root@fangleishan ~] swapoff -a 代表关闭所有的swap
3.检查当前swap分区有哪些设备
[root@fangleishan ~] swapon -s 文件名 类型 大小 已用 权限
/dev/dm-1 partition 2097148 4616 -2 /dev/sdb1 partition 1048572 0 -2
什么是磁盘阵列
提高磁盘的整体读写能力,和冗余能力,通常我们将其称为磁盘阵列。
1).RAID
- 提高性能
- 保证安全
**2).RAID模式 **
Raid0原理:条带卷
1,把多块盘合成一块盘,可用容量是所有盘之和。
2,没有冗余,即坏一块盘,整个Raid就坏,数据都会丢失。(缺点)
3,性能是所有之和(优点)
Raid0工作中放在什么情况下用。
1,不太重要的数据。
2,性能要求高的。
3,容量要求高。
如何规避Raid0缺点?
最好对整个Raid0数据做实时备份。这是一个Raid级别叫Raid10
Raid1原理:镜像卷
1,只能是两块盘整合到一起,容量还是一块盘的容量。
2,冗余100%,即坏一块数据不丢失。
3,性能减半,只是一块盘的性能。
Raid10工作中放在什么情况下用。
1,很重要的数据。
2,性能要求不高。
3,容量要求不高。
Raid5原理:效验卷
1,至少三块相同大小的盘,并且只允许坏一块盘,有效空间3/1。
2,读性能快,写性能块。
Raid5经常用在生产环境中。