磁盘的基本分区gdisk(主要给大于2TB的硬盘分区)
fdisk只能给小于2TB的硬盘分区,而且只能分四个分区。如果单块盘大于2TB建议使用gdisk进行分区。gdisk能分128个分区
(1)使用gdisk进行分区
1.安装gdisk分区工具
[root@oldboy ~]# yum provides gdisk
[root@oldboy ~]# yum install gdisk -y
2.使用gdisk命令对大于2TB的硬盘进行分区
[root@oldboy ~]# gdisk /dev/sdb
Command (? for help): n 创建新分区
Partition number (1-128, default 1): 默认创建第一个分区(回车)
First sector (34-8589934558, default = 2048) or {+-}size{KMGTP}: 选择扇区位置(默认,回车)
Last sector (2048-8589934558, default = 8589934558) or {+-}size{KMGTP}: +2048G 创建的分区大小(2TB)
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): p 打印查看分区
Number Start (sector) End (sector) Size Code Name
1 2048 4294969343 2.0 TiB 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)使用mkfs格式化分区
[root@oldboy ~]# mkfs.xfs -f /dev/sdb1 -f强制格式化
(3)使用mount命令给分区添加一个挂载点
[root@oldboy ~]# mkdir /data/test4 创建目录,给分区一个挂载点,可以通过这个挂载点来往磁盘里面写入数据
[root@oldboy ~]# mount /dev/sdb1 /data/test4
[root@oldboy ~]# df -h 查看挂载详情(磁盘的使用情况)
磁盘挂载方式
如果需要使用磁盘的空间,需要准备一个空的目录作为挂载点,与该设备进行关联。mount主要是为文件系统指定一个访问入口
mount -a 检查挂载有无错误
mount -t 指定挂载的设备类型
mount -o 指定挂载的参数(-o rw该挂载下只能读写 -o ro只读)
umount 卸载挂载
umount -l 强制卸载挂载
blkid 查看块设备的id
挂载
(1)挂载的设备类型
1.指定挂载的设备类型,将/dev/sdb1挂载到/data/test4下
[root@oldboy ~]# mount -t xfs /dev/sdb1 /data/test4
(2)指定挂载的参数 只读ro 读写rw
1.将/dev/sdb1挂载至/data/test4目录,但只允许读,不允许写
[root@oldboy ~]# mount -o ro -t xfs /dev/sdb1 /data/test4
[root@oldboy ~]# touch /data/test4/123.txt 在目录下创建文件
touch: cannot touch ‘/data/test4/123.txt’: Read-only file system
(3)通过设备的UUID进行挂载(UUID==身份证)
[root@oldboy ~]# blkid 查看块设备的uuid
[root@oldboy ~]# mount UUID="310a3005-2661-4b6c-addc-abada3be759d" /data/test4
[root@oldboy ~]# mount /dev/sdb1 /data/test4 也可以直接用设备的名称
卸载umount
(1)卸载目录和设备都可以
1.通过卸载挂载的目录
[root@oldboy ~]# umount /data/test4
2.通过卸载挂载的设备
[root@oldboy ~]# umount /dev/sdb1
(2)挂载点目录下卸载
如果在挂载点目录下,是无法进行卸载,但可强制. 当退出该目录时,目录回归原始属性
[root@oldboy ~]# cd /data/test4
[root@oldboy /data/test4]# umount /dev/sdb1
umount: /data/test4: target is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
强制卸载
[root@oldboy /data/test4]# umount -l /dev/sdb1
永久挂载
1.查看设备的基本信息,获取UUID
[root@oldboy ~]# blkid
/dev/sdc1: UUID="4efb973b-86b4-4c38-b032-fe3f5be99759" TYPE="xfs"
/dev/sdc2: UUID="16a36d41-6de3-46ae-b724-4f25c6cae757" TYPE="xfs"
2.在/etc/fstab下添加设备,使其永久挂载(可以使用UUID或者设备的所在位置)
[root@oldboy ~]# vim /etc/fstab
UUID=4efb973b-86b4-4c38-b032-fe3f5be99759 /data/test1 xfs defaults 0 0
/dev/sdc2 /data/test2 xfs defaults 0 0
3.检测挂载是否有错误,加载fstab配置文件
[root@oldboy ~]# mount -a
/etc/fstab配置文件编写格式
要挂载的设备 | 挂载点(入口) | 文件系统类型 | 挂载参数 | 是否备份 | 是否检查 |
---|---|---|---|---|---|
/dev/sda1(UUID也行) | /data/test1 | xfs | defaults | 0 | 0 |
第四列:挂载参数。挂载参数有很多,在这块我们了解即可,不必深究
参数 | 含义 |
---|---|
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等默认参数的设定 |
第五列:是否进行备份。通常这个参数的值为0或者1
选项 | 含义 |
---|---|
0 | 代表不做备份 |
1 | 代表要每天进行备份操作 |
2 | 代表不定日期的进行备份操作 |
第六列:是否检验扇区:开机的过程中,系统默认会以fsck检验我们系统是否为完整
选项 | 含义 |
---|---|
0 | 不要检验磁盘是否有坏道 |
1 | 检验 |
2 | 校验 (当1级别检验完成之后进行2级别检验) |
挂载设备有问题,导致无法进入系统, 输入root密码, 然后修改注释/etc/fstab 最后重启,就能正常启动系统
swap交换分区(磁盘充当内存)
free -m 查看Linux内存的使用情况
mkswap 将分区格式化为swap
swapon 开启swap
swapon -s 查看当前swap分区有哪些设备
swapon -a 激活所有的swap
swapoff 关闭swap
swapoff -a 关闭所有的swap
1.内存不够,也没有配置swap会出现什么情况?
系统会出现oom机制, out of memroy 会随机干掉一个进程
Aug 20 11:13:43 oldboy kernel: Out of memory: Kill process 7910 (dd) score 785 or sacrifice child Aug 20 11:13:43 oldboy kernel: Killed process 7910 (dd) total-vm:1746408kB, anon- rss:1638504kB, filerss:0kB, shmem-rss:0kB
2.内存不够,有配置swap又会出现什么情况?
1.会使用swap充当内容使用,防止系统出现oom故障
2.如果使用了swap,系统会变得特别的卡
(1)创建分区,并格式化swap分区
[root@oldboy ~]# fdisk /dev/sdb 分1个G大小
[root@oldboy ~]# mkswap /dev/sdb1 将/dev/sdb1分区格式化为swap
(2)查看当前swap分区大小,然后进行扩展和缩小
[root@oldboy ~]# free -m 查看Linux系统的内存
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 开启/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 关闭/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
如果希望swap开机自动挂载,将swap信息追加至/etc/fstab即可(注意系统的文件类型为swap)。
磁盘阵列
什么是磁盘阵列?
提高磁盘的整体读写能力,和冗余能力,通常我们将其称为磁盘阵列
冗余:在阵列里是备份能力的意思,也有重复的数据意思
RAID
- 提高性能
- 提高安全性
RAID模式
raid0(条带卷,最少要两块盘)
- 优点:读写能力好,容量是所有盘之和
- 缺点:没有冗余,没备份,没有容错机制坏一块盘全部都坏了
- 应用方面:个人用户
raid1(镜像卷,最少两块盘,需要一个热备盘作为替补)
- 优点:写入性能一般,读取性能好,有备份
- 缺点:价格高,占用资源,容量是一块盘的容量
- 应用方面:适用于存放重要数据
raid5(奇偶校验卷,最少三块盘,需要一个热备盘作为替补)
- 优点:读写性能好,有容错机制,容量是(n-1)/n
- 缺点:坏掉一块盘,读会变慢
- 应用方面:是一种存储性能、数据安全和存储成本兼顾的存储解决方案
raid10(镜像加条带卷,最少四块盘,需要一个热备盘作为替补)
- 优点:读写性能好,有容错机制,最多可以坏掉两块盘,容量是1/2
- 缺点:价格贵,空间浪费一半
- 应用方面:集合了raid0,raid1的优点,但是空间使用了镜像,而不是类似raid5的奇偶校验信息,磁盘利用率50%