第十九天 磁盘管理

第十九天 磁盘管理

  • 1.分配超过2TB的磁盘fdisk gdisk
  • 2.mount
    • 临时挂载---->通过执行命令的方式都算是临时的挂载
    • 永久挂载---->将挂载的信息写到配置文件内
  • 3.swap 交换分区的作用(用磁盘来充当内存)
    • 内存不够时,没有配置swap会出现什么情况?
    • 内存不够时,有配置swap又会出现什么情况?
  • 4.磁盘阵列RAID
    • 什么是阵列
    • 什么磁盘阵列RAID
    • 磁盘阵列RAID模式
      • RAID 0
      • RAID 1
      • RAID 5
      • RAID 10
    • 使用软件模式RAID
    • 使用硬件配置RAID(选中磁盘-->选择RAID级别 )

1.分配超过2TB的磁盘 fdisk gdisk

fdisk分配大于2TB的磁盘

sdc     8:32     0     4T    0   disk
#fdisk 分配大于2TB的磁盘,会提示修改主引导为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)

image.png

gdisk分配大于2TB的文件

#1.默认是没有gdisk工具的
#yum provides gdisk     #查看该命令是属于那个软件包
#yum install gdisk     #安装

#2.使用gdisk对大于2TB的硬盘进行格式化

[root@oldboy-01 ~]# gdisk /dev/sdd
GPT fdisk (gdisk) version 0.8.10

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.

Command (? for help): n
Partition number (2-128, default 2): 
First sector (34-8589934558, default = 4294969344) or {+-}size{KMGTP}: 
Last sector (4294969344-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): 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/sdd.
The operation has completed successfully.

对磁盘进行格式化

[root@oldboy-01 ~]# mkfs.xfs /dev/sdd1 -f   # -f 强制覆盖
meta-data=/dev/sdd1              isize=512    agcount=4, agsize=134217728 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=536870912, imaxpct=5
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=262144, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

image.png

创建挂载点

[root@oldboy-01 ~]# mkdir /sdd1
[root@oldboy-01 ~]# mkdir /sdd2

挂载分区

[root@oldboy-01 ~]# mount /dev/sdd1 /sdd1/
[root@oldboy-01 ~]# mount /dev/sdd2 /sdd2/

检查挂在详情

[root@oldboy-01 ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        20G  5.5G   14G  29% /
devtmpfs        476M     0  476M   0% /dev
tmpfs           487M     0  487M   0% /dev/shm
tmpfs           487M  7.7M  479M   2% /run
tmpfs           487M     0  487M   0% /sys/fs/cgroup
/dev/sdc1       300G   33M  300G   1% /test3
/dev/sda1       197M  133M   65M  68% /boot
tmpfs            98M     0   98M   0% /run/user/0

image.png

加入开机自启

[root@oldboy-01 ~]# vim /etc/fstab 


#
# /etc/fstab
# Created by anaconda on Wed Aug 14 19:54:08 2019
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=1317116d-2297-439f-a802-6b464e8a2aa7 /                       xfs     defaults        0 0
UUID=7f2e644a-4c4d-4d8e-8c9a-c66622d0501c /boot                   xfs     defaults        0 0
UUID=aecf7f2b-ee46-4a48-882b-1c39b70da0da swap                    swap    defaults        0 0

#UUID=e67cd841-5e8d-4467-8610-e023b3bb0870 /test1                  xfs     defaults        0 0
#UUID=b9b4e9f2-4641-44c7-9ec6-22d3159bf90e /test2                  xfs     defaults        0 0
#UUID=97d13a34-e291-4ad0-b6f5-03892f47987d /test3                  xfs     defaults        0 0

image.png

2.mount挂载实际上就是为设备提供一个入口

image.png

挂载

# -t 指定挂载的设备类型
# -o 指定挂载的参数  rw,ro

[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

# 通过设备的UUID进行挂载(UUID==身份证) 
[root@oldboy ~]# blkid          # blkid 查看设备的uuid
[root@oldboy ~]# mount UUID="29ae40fb-93f4-4d87-b1e783cdd5946fc6"  /sdc_back

卸载

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

#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@oldboy-01 ~]# blkid | grep sdd1
/dev/sdd1: UUID="4b785e06-6f76-4acb-8cb5-01c03c8eb7b7" TYPE="xfs" PARTUUID="10cc5c75-8c9d-4eee-ad68-c91203d75a5a"

#2.使用UUID挂载磁盘sdd1分区至/sdd1下
[root@oldboy-01 ~]# mount UUID="4b785e06-6f76-4acb-8cb5-01c03c8eb7b7" TYPE="xfs" PARTUUID="10cc5c75-8c9d-4eee-ad68-c91203d75a5a" /sdd1

#3.写入/etc/fstab中,实现开机自动挂载 
#要挂载的设备 挂载点 设备类型    挂载参数    是否备份    是否检 查 
/dev/sdc1   /sdc1   xfs     defaults    0       0 UUID="29ae40fb-93f4-4d87-b1e7-83cdd5946fc6" /sdc2   xfs     defaults     0

# 4.加载fstab配置文件,同时检测语法是否有错误
[root@oldboy-01 ~]# mount -a

/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级别检验)

PS:挂在设备有问题,导致无法进入系统,输入root密码,然后注释/etc/fstab最后重启

image.png

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
PS:就是干掉随机的一个系统进程
  • 2.当内存不够时,配置了swap又会出现什么情况?
    • 1.会使用swap临时充当内存使用,防止系统出现oom故障
    • 2。使用swap时,系统会变得特别卡

1.创建分区,并格式化为swap

[root@oldboy-01 ~]# fdisk /dev/sdd1      #使用fdisk进行分区
[root@oldboy-01 ~]# mkswap /dev/sdd1     #使用 mkswap 将sdd1 格式化为swap

2.查看当前swap分区大小,然后进行扩展和缩小

[root@oldboy-01 ~]# free -m         #查看当前内存状态
              total        used        free      shared  buff/cache   available
Mem:            972         139         680           7         152         665
Swap:           799           0         799

#1.扩展swap分区大小
[root@oldboy-01 ~]# swapon /dev/sdd1       #将sdd1增加为swap

[root@oldboy-01 ~]# free -m             #查看当前内存

#2.缩小swap分区大小 
[root@xuliangwei ~]# swapoff /dev/sdb1 
[root@xuliangwei ~]# free -m
            total        used        free      shared  buff/cache   available Mem:           1980        1475          80          10         424         242 Swap:          2047           4        2043 [root@xuliangwei ~]# swapoff -a #代表关闭所有的swap

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

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

4磁盘阵列

1.什么是磁盘阵列

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

2.RAID

  • 提高性能
  • 保证安全

*3.RAID模式


image.png

image.png

image.png

image.png

你可能感兴趣的:(第十九天 磁盘管理)