Day20-Linux-磁盘管理(2)

一、Gdisk 分配大于2TB以上的磁盘

[root@oldboy:~]# lsblk 
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   30G  0 disk 
├─sda1   8:1    0    1G  0 part /boot
├─sda2   8:2    0    1G  0 part [SWAP]
└─sda3   8:3    0   28G  0 part /
sdc      8:32   0    4T  0 disk 

1.查看gdisk命令属于哪个软件包

yum provides gdisk

2.使用gdisk对大于2TB的硬盘进行分区

1、利用gsisk对磁盘进行分区
[root@oldboy:~]# gdisk /dev/sdc
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}: +2T
....
将4T的 sdc 分配成了3个分区,分别为2T、1T、1T

Number  Start (sector)    End (sector)  Size       Code  Name
   1         2048      4294969343   2.0 TiB     8300  Linux filesystem    
   2   4294969344      6442452991   1024.0 GiB  8300  Linux filesystem
   3   6442452992      8589934558   1024.0 GiB  8300  Linux filesystem

Command (? for help): w

2、查看磁盘分区
[root@oldboy:~]# lsblk 
sdc      8:32   0    4T  0 disk 
├─sdc1   8:33   0    2T  0 part 
├─sdc2   8:34   0    1T  0 part 
└─sdc3   8:35   0 1024G  0 part 

3.对磁盘分区进行格式化

[root@oldboy:~]# mkfs.xfs -f  /dev/sdc1   
[root@oldboy:~]# mkfs.xfs -f  /dev/sdc2
[root@oldboy:~]# mkfs.xfs -f /dev/sdc3
meta-data=/dev/sdc3              isize=512    agcount=4, agsize=67108799 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=268435195, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=131071, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

4.创建挂载点

在根下分别创建磁盘分区的三个挂载点

[root@oldboy:~]# mkdir /data-sdc1
[root@oldboy:~]# mkdir /data-sdc2
[root@oldboy:~]# mkdir /data-sdc3

5.挂载分区

-t 指定挂载的设备类型
-o 指定挂载的参数 rw (读写), ro(只读)

分别将给磁盘分配的3个分区挂载到设置的挂载点

 [root@oldboy:~]# mount /dev/sdc1 /data-sdc1   
 [root@oldboy:~]# mount /dev/sdc2 /data-sdc2
 [root@oldboy:~]# mount /dev/sdc3 /data-sdc3

 [root@oldboy:~]# mkdir /sdc_back
 [root@oldboy:~]# mount -t xfs /dev/sdc2  /sdc_back/

 将/dev/sdc2挂载至/sdc_back目录,但只允许读,不允许写 
 [root@oldboy:~]# mount -o ro -t xfs /dev/sdc2  /sdc_back/ 
 [root@oldboy sdc_back]# touch fileeeee 
 touch: cannot touch ‘fileeeee’: Read-only file system

6.检查挂载详情

[root@oldboy:~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
tmpfs           199M     0  199M   0% /run/user/0
/dev/sdc1       2.0T   33M  2.0T   1% /data-sdc1
/dev/sdc2       1.0T   33M  1.0T   1% /data-sdc2
/dev/sdc3       1.0T   33M  1.0T   1% /data-sdc3

7.加入开机自启动(永久挂载)相关文件 /etc/fstab

./etc/fstab配置文件编写格式

要挂载的设备 挂载点(入口) 文件系统类型 挂载参数 是否备份 是否检查
/dev/sdb1 /db1 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级别检验)
1.永久挂载方式1
 [root@oldboy:~]# vim /etc/fstab
 (cuixinpeng  磁盘分区永久挂载配置)
 要挂载的设备     挂载点                设备类型   挂载参数默认         是否备份  是否检查
 /dev/sdc1      /root/data-sdc1         xfs       defaults             0         0

2、查看磁盘的UUID,
 [root@oldboy:~]# blkid
  /dev/sdc1: UUID="abaeaaf5-a326-472f-b1da-4fcd76bde3ca" TYPE="xfs" PARTLABEL="Linux filesystem" PARTUUID="053a2f83-a3ed-4d70-8b63-a84b209b3165"

3、将写入/etc/fstab中,实现开机自动挂载 方式2
[root@oldboy:~]# vim /etc/fstab
UUID="abaeaaf5-a326-472f-b1da-4fcd76bde3ca"    /root/data-sdc1    xfs   defaults    0  0
4.加载fstab配置文件, 同时检测语法是否有错误 
[root@oldboy:~]# mount –a

8.磁盘的卸载

1.通过卸载挂载的目录
[root@oldboy:~]# umount /sdc_back/

2.通过卸载挂载的设备 
[root@oldboy:~]# umount /dev/sde1 

3.如果在挂载点目录下,是无法进行卸载,但可强制. 当退出该目录时,目录回归原始属性 
[root@oldboy:~]# cd /data-sdc1/ 
[root@oldboy data-sdc1  ]# umount /data-sdc1/ 
umount: /data/test1: target is busy.        
      (In some cases useful info about processes 
that use        
       the device is found by lsof(8) or fuser(1))

如上情况解决办法有两种, 
1.切换至其他目录 
2.使用参数  -l  选项强制卸载    
[root@oldboy data-sdc1]# umount -l /sdb1   强制卸载

二、虚拟磁盘介绍SWAP

——Swap分区在系统的物理内存不够时,将硬盘空间中的一部分空间释放出来,以供当前运行的程序使用。

  • 当物理内存不够时会随机删掉占用内存的进程,从而可能导致系统瘫痪,临时使用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

swapon  -a 代表激活所有的swap
[root@oldboy:~]# swapon -a 

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

-a 代表关闭所有的swap
[root@oldboy:~]# swapoff -a 

3.检查当前swap分区有哪些设备

[root@oldboy:~]# swapon -s
文件名             类型      大小   已用  权限
/dev/dm-1   partition   2097148   4616    -2
/dev/sdb1   partition   1048572   0       -2

——如果希望swap开机自动挂载,将swap信息追加至/etc/fstab即可。

三、磁盘阵列

——提高磁盘的整体读写能力,和冗余能力,通常我们将其称为磁盘阵 列。

1.RAID的作用

  • 1.通过把多个磁盘组织在一起作为一个逻辑卷提供磁盘跨越功能;

  • 2.通过把数据分成多个数据块(Block)并行写入/读出多个磁盘以提高访问磁盘的速度;

  • 3.通过镜像或校验操作提供容错能力。

2.RAID模式

1)RAID0定义

——RAID 0 并不是真正的RAID结构,没有数据冗余,没有数据校验的磁盘陈列。实现RAID 0至少需要两块以上的硬盘,它将两块以上的硬盘合并成一块,数据连续地分割在每块盘上。 因为带宽加倍,所以读/写速度加倍, 但RAID 0在提高性能的同时,并没有提供数据保护功能,只要任何一块硬盘损坏就会丢失所有数据。

RAID0
优缺点

(1)RAID 0的缺点是不提供数据冗余,因此一旦用户数据损坏,损坏的数据将无法得到恢复。RAID0运行时只要其中任一块硬盘出现问题就会导致整个数据的故障。

(2)RAID 0具有的特点,使其特别适用于对性能要求较高,而对数据安全不太在乎的领域,如图形工作站等。对于个人用户,RAID 0也是提高硬盘存储性能的绝佳选择。

2)RAID1

工作原理

——RAID1是将一个两块硬盘所构成RAID磁盘阵列,其容量仅等于一块硬盘的容量,因为另一块只是当作数据“镜像”。RAID 1磁盘阵列显然是最可靠的一种阵列,因为它总是保持一份完整的数据备份。它的性能自然没有RAID 0磁盘阵列那样好,但其数据读取确实较单一硬盘来的快,因为数据会从两块硬盘中较快的一块中读出。RAID 1磁盘阵列的写入速度通常较慢,因为数据得分别写入两块硬盘中并做比较。RAID 1磁盘阵列一般支持“热交换”,就是说阵列中硬盘的移除或替换可以在系统运行时进行,无须中断退出系统。RAID 1磁盘阵列是十分安全的,不过也是较贵一种RAID磁盘阵列解决方案,因为两块硬盘仅能提供一块硬盘的容量。RAID 1磁盘阵列主要用在数据安全性很高,而且要求能够快速恢复被破坏的数据的场合。

RAID1
优缺点

(1)RAID1通过硬盘数据镜像实现数据的冗余,保护数据安全,在两块盘上产生互为备份的数据,当原始数据繁忙时,可直接从镜像备份中读取数据,因此RAID1可以提供读取性能。
(2)RAID1是硬盘中单位成本最高的,但提供了很高的数据安全性和可用性,当一个硬盘失效时,系统可以自动切换到镜像硬盘上读/写,并且不需要重组失效的数据。

3)RAID5

RAID5

3)RAID10

RAID10

总结

通过今天的学习,我们主要学习了怎样分配大于2T的磁盘,通过怎样的方式去分配,怎样使我们分配的磁盘永久性的挂载,设置开机自启动,还学习了怎样在内存不够的情况下,创建swap代替内存,怎样添加容量,怎样删除添加的容量,最后学习了磁盘阵列RAID的各种类型。

.

你可能感兴趣的:(Day20-Linux-磁盘管理(2))