day19——磁盘分区和磁盘阵列raid

磁盘的基本分区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 最后重启,就能正常启动系统

QQ图片20190820181948.png


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(条带卷,最少要两块盘)

  • 优点:读写能力好,容量是所有盘之和
  • 缺点:没有冗余,没备份,没有容错机制坏一块盘全部都坏了
  • 应用方面:个人用户
    RAID0.png

raid1(镜像卷,最少两块盘,需要一个热备盘作为替补)

  • 优点:写入性能一般,读取性能好,有备份
  • 缺点:价格高,占用资源,容量是一块盘的容量
  • 应用方面:适用于存放重要数据
    RAID1.png

raid5(奇偶校验卷,最少三块盘,需要一个热备盘作为替补)

  • 优点:读写性能好,有容错机制,容量是(n-1)/n
  • 缺点:坏掉一块盘,读会变慢
  • 应用方面:是一种存储性能、数据安全和存储成本兼顾的存储解决方案
    RAID5.png

raid10(镜像加条带卷,最少四块盘,需要一个热备盘作为替补)

  • 优点:读写性能好,有容错机制,最多可以坏掉两块盘,容量是1/2
  • 缺点:价格贵,空间浪费一半
  • 应用方面:集合了raid0,raid1的优点,但是空间使用了镜像,而不是类似raid5的奇偶校验信息,磁盘利用率50%
    RAID10.png

你可能感兴趣的:(day19——磁盘分区和磁盘阵列raid)