今日内容:
分配超过2TB的磁盘 fdisk gdisk
mount挂载:
swap交换分区 (磁盘充当内存)
磁盘阵列RAID
1.分配超过2TB的磁盘 fdisk gdisk
fdisk 分配大于4个T的磁盘,会提示修改主引导为GPT (使用fdisk继续分配)
WARNING: The size of this disk is 4.4 TB (4398046511104 bytes).
DOS partition table format can not be used on drives for volumes
larger than (2199023255040 bytes) for 512-byte sectors. Use parted(1) and GUID
partition table format (GPT)
gdisk分配大于2TB以上的文件
1.查看gdisk命令属于哪个软件包
yum provides gdisk
yum install gdisk -y
2.使用gdisk对大于2TB的硬盘进行分区
[root@oldboy ~]# gdisk /dev/sd
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}:
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 8589934558 4.0 TiB 8300 Linux filesystem
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdc.
The operation has completed successfully.
3.对磁盘分区进行格式化
[root@oldboy ~]# mkfs.xfs -f /dev/sdc1
meta-data=/dev/sdc1 isize=512 agcount=4, agsize=268435391 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=1073741563, imaxpct=5
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=521728, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
4.创建挂载点
[root@oldboy ~]# mkdir /sdc2
5.挂载分区
[root@oldboy ~]# mount /dev/sdc1 /sdc2/
6.检查挂载详情
[root@oldboy ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 38G 6.6G 32G 18% /
devtmpfs 980M 0 980M 0% /dev
tmpfs 991M 0 991M 0% /dev/shm
tmpfs 991M 9.5M 981M 1% /run
tmpfs 991M 0 991M 0% /sys/fs/cgroup
/dev/sda1 1014M 155M 860M 16% /boot
tmpfs 199M 0 199M 0% /run/user/0
/dev/sdc1 4.0T 33M 4.0T 1% /sdc2
2.mount 挂载 实际上就是为设备提供一个入口
挂载
-t 指定挂载的设备类型
-o 指定挂载的参数 rw,ro
[root@oldboy ~]# mkdir /sdc_back
[root@oldboy ~]# mount -t xfs /dev/sdc1 /sdc_back/
将/dev/sdc1挂载至/sdc_back1目录,但只允许读,不允许写
[root@oldboy ~]# mkdir /sdc_back1
[root@oldboy ~]# mount -o ro -t xfs /dev/sdc1 /sdc_back1/
[root@oldboy ~]# cd /sdc_back1
[root@oldboy sdc_back1]# touch file1
touch: cannot touch ‘file1’: Read-only file system
通过设备的UUID进行挂载(UUID==身份证)
[root@oldboy ~]# blkid
[root@oldboy ~]# mount UUID="3f1daaa8-1862-466c-a631-a12862ada696" /sdc_back1
[root@oldboy ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 38G 6.6G 32G 18% /
devtmpfs 980M 0 980M 0% /dev
tmpfs 991M 0 991M 0% /dev/shm
tmpfs 991M 9.6M 981M 1% /run
tmpfs 991M 0 991M 0% /sys/fs/cgroup
/dev/sda1 1014M 155M 860M 16% /boot
tmpfs 199M 0 199M 0% /run/user/0
/dev/sdc1 4.0T 33M 4.0T 1% /sdc_back1
卸载
1.通过卸载挂载的目录
[root@oldboy ~]# umount /sdc_back1/
2.通过卸载挂载的设备
[root@oldboy ~]# umount /dev/sde1
3.如果在挂载点目录下,是无法进行卸载,但可强制. 当退出该目录时,目录回归原始属性
[root@oldboy ~]# cd /data/test1/
[root@oldboy test1]# umount /data/test1/
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.使用blkid命令获取各设备的UUID
[root@xuliangwei ~]# blkid |grep "sdb1" /dev/sdb1: UUID="e271b5b2-b1ba-4b18-bde5-66e
394fb02d9" TYPE="xfs"
2.使用UUID挂载磁盘sdb1分区至于db1, 测试挂载
[root@xuliangwei ~]# mount UUID="e271b5b2-b1ba-4b18-bde5-66e394fb02d9" /db1
3.写入/etc/fstab中,实现开机自动挂载要挂载的设备 挂载点 设备类型 挂载参数 是否备份 是否检查
/dev/sdc1 /sdc1 xfs defaults 0 0
UUID="29ae40fb-93f4-4d87-b1e7-83cdd5946fc6" /sdc2 xfs defaults 0
4.加载fstab配置文件, 同时检测语法是否有错误
[root@xuliangwei ~]# mount –a
3./etc/fstab配置文件编写格式
要挂载的设备挂载点(入口)文件系统类型挂载参数是否备份是否检查
/dev/sdb1 /db1 xfs defaults 0 0
第四列:挂载参数。挂载参数有很多,在这块我们了解即可。
参数 含义
async/sync 是否为同步方式运行。默认async
user/nouser 是否允许普通用户使用mount命令挂载。默认nouser
exec/noexe 是否允许可执行文件执行。默认exec
suid/nosuid 是否允许存在suid属性的文件。默认suidauto/noauto
执行mount -a 命令时,此文件系统是否被主动挂载。默认auto
rw/ro 是否以只读或者读写模式进行挂载。默认rw
defaults 具有rw,suid,dev,exec,auto,nouser,async等默认参数的设定
第五列:是否进行备份。通常这个参数的值为0或者1
选项 含义
0 代表不做备份
1 代表要每天进行备份操作
2 代表不定日期的进行备份操作
第六列:是否检验扇区:开机的过程中,系统默认会以fsck检验我们系统是否完整
选项 含义
0 不要检验磁盘是否有坏道
1 检验
2 校验 (当1级别检验完成之后进行2级别检验)
挂载设备有问题,导致无法进入系统, 输入root密码, 然后注释/etc/fstab最后重启
3.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
内存不够,有配置swap又会出现什么情况?
1.会使用swap充当内容使用,防止系统出现oom故障
2.如果使用了swap,系统会变得特别的卡
1.创建分区,并格式化为swap分区。
[root@oldboy ~]# fdisk /dev/sdb 分为1个G
[root@oldboy ~]# mkswap /dev/sdb4 格式化为swap
2.查看当前swap分区大小,然后进行扩展和缩小
[root@oldboy ~]# free -m
total used free shared buff/cache available
Mem: 1980 136 1695 9 147 1674
Swap: 1023 0 1023
1.扩展swap分区大小
[root@oldboy ~]# swapon /dev/sdb4
[root@oldboy ~]# free -m
total used free shared buff/cache available
Mem: 1980 137 1694 9 148 1673
Swap: 2047 0 2047
[root@oldboy ~]# swapon -a 代表激活所有的swap
2.缩小swap分区大小
[root@oldboy ~]# swapoff /dev/sdb4
[root@oldboy ~]# free -m
total used free shared buff/cache available
Mem: 1980 138 1693 9 148 1672
Swap: 1023 0 1023
[root@oldboy ~]# swapoff -a 代表关闭所有的swap
3.检查当前swap分区有哪些设备
[root@oldboy ~]# swapon -s
Filename Type Size Used Priority
/dev/sda2 partition 1048572 0 -2
1.什么是磁盘阵列
提高磁盘的整体读写能力,和冗余能力,通常我们将其称为磁盘阵列。
2.RAID
提高性能
保证安全
3.RAID模式
RAID0条带卷,最少两块盘,读写性能好,但没有容错机制,坏一块磁盘数据全丢。
读写性能 所有盘之和
没有冗余 坏一块盘 都坏
应用在 web服务器
RAID1镜像卷,写入性能一般,读取性能快,有容错机制,但磁盘有50%浪费
容量只有50%
写性能一般
读性能好
RAID5校验卷,至少三块相同大小的盘,并且只允许坏一块盘,有效空间1/3,读写速度快,坏掉一块,读
会慢。
RAID5无论多少块盘组成,最多只允许坏一块盘
容量 (n-1)* 单位容量
读性能 快
写性能 快
具备raid0差不多的性能,同时也具备raid1的稳定
RAID10,先做raid1,在做raid0
容量 1/2
写性能 4块盘-->2块盘之和
读性能 多块盘之和
冗余 可以最多坏两块盘
今日总结
1.分大于2TB的磁盘
2.挂载 卸载 永久挂载 /etc/fstab文件
1.挂载的设备名|UUID 2.挂载点 3.系统文件类型 4挂载参数 5.备份 6.检查
3.swap交换分区
1.内存不够.没有swap会造成什么故障?
2.内存不够,有swap会造成什么故障?
4.磁盘阵列? 提高多块盘的性能 以及安全
RAID0 性能高,没有冗余,容量100%
RAID1 读性能高,写性能一般,有冗余,允许坏一块盘. 容量50%
RAID5 读写性能都高,有冗余,允许坏一块盘. 容量 n-1 * 单盘容量
RAID10 先做RAID1 在做RAID0 既有冗余又有性能 容量2/1 贵.
PS: 无论raid1还是raid5 都需要在准备一个热备盘(全新的盘)