一、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在提高性能的同时,并没有提供数据保护功能,只要任何一块硬盘损坏就会丢失所有数据。
优缺点
(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磁盘阵列主要用在数据安全性很高,而且要求能够快速恢复被破坏的数据的场合。
优缺点
(1)RAID1通过硬盘数据镜像实现数据的冗余,保护数据安全,在两块盘上产生互为备份的数据,当原始数据繁忙时,可直接从镜像备份中读取数据,因此RAID1可以提供读取性能。
(2)RAID1是硬盘中单位成本最高的,但提供了很高的数据安全性和可用性,当一个硬盘失效时,系统可以自动切换到镜像硬盘上读/写,并且不需要重组失效的数据。
3)RAID5
3)RAID10
总结
通过今天的学习,我们主要学习了怎样分配大于2T的磁盘,通过怎样的方式去分配,怎样使我们分配的磁盘永久性的挂载,设置开机自启动,还学习了怎样在内存不够的情况下,创建swap代替内存,怎样添加容量,怎样删除添加的容量,最后学习了磁盘阵列RAID的各种类型。
.