磁盘分区

硬盘: SATA 串口(机械) 固态

 

[root@localhost ~]# fdisk -l 查看磁盘信息

分区表类型: msdos

一块硬盘: 主分区 4个

扩展分区1个---> 逻辑分区

3主分区+1扩展分区

[root@localhost ~]# fdisk -l /dev/sdb

 

[root@localhost ~]# fdisk /dev/sdb

命令(输入 m 获取帮助):m

d delete a partition 删除分区

l list known partition types 列出分区类型

m print this menu 打印当前菜单

n add a new partition 添加新分区

p print the partition table 打印分区表

q quit without saving changes 不保存退出

t change a partition's system id 修改分区id

w write table to disk and exit 保存退出

 

[root@localhost ~]# fdisk /dev/sdb

命令(输入 m 获取帮助):n

Partition type:

p primary (0 primary, 0 extended, 4 free)

e extended

Select (default p): p

分区号 (1-4,默认 1):1

起始 扇区 (2048-4194303,默认为 2048):

将使用默认值 2048

Last 扇区, +扇区 or +size{K,M,G} (2048-4194303,默认为 4194303):+200M

分区 1 已设置为 Linux 类型,大小设为 200 MiB

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:2147 MB, 2147483648 字节,4194304 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0xfeed7372

设备 Boot Start End Blocks Id System

/dev/sdb1 2048 411647 204800 83 Linux

命令(输入 m 获取帮助):w

 

[root@localhost ~]# partprobe /dev/sdb

或者

[root@localhost ~]# partx -d /dev/sdb

[root@localhost ~]# partx -a /dev/sdb

格式化文件系统

[root@localhost ~]# mkfs.xfs /dev/sdb1

挂载

[root@localhost ~]# mount -t xfs /dev/sdb1 /mnt/

[root@localhost ~]# umount /mnt/

[root@localhost ~]# umount /dev/sdb1

删除分区

[root@localhost ~]# umount /dev/sdb4

[root@localhost ~]# fdisk /dev/sdb

命令(输入 m 获取帮助):d

分区号 (1-4,默认 4):4

分区 4 已删除

命令(输入 m 获取帮助):w

[root@localhost ~]# partprobe /dev/sdb

 

创建扩展分区与逻辑分区

[root@localhost ~]# fdisk /dev/sdb

命令(输入 m 获取帮助):n

Partition type:

p primary (3 primary, 0 extended, 1 free)

e extended

Select (default e):

Using default response e

已选择分区 4

起始 扇区 (1230848-4194303,默认为 1230848):

将使用默认值 1230848

Last 扇区, +扇区 or +size{K,M,G} (1230848-4194303,默认为 4194303):

将使用默认值 4194303

分区 4 已设置为 Extended 类型,大小设为 1.4 GiB

命令(输入 m 获取帮助):w

[root@localhost ~]# partprobe /dev/sdb

 

逻辑分区划分

[root@localhost ~]# fdisk /dev/sdb

命令(输入 m 获取帮助):n

All primary partitions are in use

添加逻辑分区 5

起始 扇区 (1232896-4194303,默认为 1232896):

将使用默认值 1232896

Last 扇区, +扇区 or +size{K,M,G} (1232896-4194303,默认为 4194303):+200M

分区 5 已设置为 Linux 类型,大小设为 200 MiB

命令(输入 m 获取帮助):w

[root@localhost ~]# partprobe /dev/sdb

[root@localhost ~]# mount UUID="ad462bec-2f3a-42d1-9524-6873ae05b825" /mnt

[root@localhost ~]# blkid /dev/sdb6

/dev/sdb6: UUID="ad462bec-2f3a-42d1-9524-6873ae05b825" TYPE="xfs"

 

[root@localhost ~]# df -Th 查看磁盘使用率

[root@localhost ~]# mount 查看挂载设备

 

挂载:

[root@localhost ~]# mount -t iso9660 /dev/cdrom /yum 挂载光盘或者镜像文件

[root@localhost ~]# mount -t xfs /dev/sdb5 /mnt/ 挂硬盘或者U盘

[root@localhost ~]# mount -o size=500M -t tmpfs tmpfs /mnt 挂载内存

[root@localhost ~]# mount -t proc proc /mnt/

[root@localhost ~]# mount -t sysfs sys /mnt/

[root@localhost ~]# mount -o bind /tmp/ /mnt/ 挂载目录

[root@localhost ~]# mount -o remount,rw /mnt remount 重新挂载,rw读写

自动挂载

一./etc/rc.lcoal(进入系统最后一个可执行文件)

[root@localhost ~]# vim /etc/rc.local

mount -t iso9660 /dev/cdrom /yum

[root@localhost ~]# chmod +x /etc/rc.local

 

二./etc/fstab(file system table)

/dev/sdb1 /opt xfs defaults 0 0

或者

UUID="ec19bab3-61f4-4891-b6d8-081c3e0302c0" /opt xfs defaults 0 0

测试:

[root@localhost ~]# mount -a

 

三.autofs服务(按需挂载)

[root@localhost ~]# yum install autofs

[root@localhost ~]# systemctl restart autofs 开启autofs服务

[root@localhost ~]# systemctl enable autofs 设置autofs的开机自启动

 

[root@localhost mnt]# vim /etc/auto.master 默认就有

/mnt /etc/auto.mnt --timeout=10

[root@localhost mnt]# vim /etc/auto.mnt 创建配置文件并设置选项

disk1 -fstype=xfs :/dev/sdb1

[root@localhost mnt]# systemctl restart autofs

 

[root@localhost ~]# watch -n 1 df -Th 连续执行df -Th指令,监视df -Th命令的结果

[root@localhost ~]# watch -n 1 mount

交换分区的管理

[root@localhost ~]# free -h 查看交换分区大小

[root@localhost ~]# swapon -s 查看交换分区的个数

 

扩大交换分区:

方法1: 在现有的基础上,添加额外的交换分区

通过硬盘:

[root@localhost ~]# mkswap -f /dev/sdb1 格式化swap文件系统

[root@localhost ~]# swapon /dev/sdb1 激活swap分区

 

[root@localhost ~]# fdisk /dev/sdb

命令(输入 m 获取帮助):t

已选择分区 1

Hex 代码(输入 L 列出所有代码):82

已将分区“Linux”的类型更改为“Linux swap / Solaris”

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:2147 MB, 2147483648 字节,4194304 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0xfcc991d3

设备 Boot Start End Blocks Id System

/dev/sdb1 2048 2099199 1048576 82 Linux swap / Solaris

命令(输入 m 获取帮助):w

 

永久生效

[root@localhost ~]# vim /etc/fstab

UUID="c66e20f0-bf39-40bc-b756-0b80e578b6c1" swap swap defaults 0 0

通过文件扩大

[root@localhost ~]# dd if=/dev/zero of=/file_swap bs=100M count=20

[root@localhost ~]# mkswap /file_swap

[root@localhost ~]# swapon /file_swap

[root@localhost ~]# chmod 600 /file_swap

[root@localhost ~]# vim /etc/fstab

[root@localhost ~]# vim /etc/rc.local

swapon /file_swap

 

方法2: 删除现有的交换分区,创建一个新的交换分区

删除永久设置(fstab)

取消激活swap分区

删除交换分区

创建满足大小空间的交换区

激活新的交换分区

在永久生效

 

缩小交换分区

情况1: 有多个交换分区,删除一个交换分区即可

永久删除配置(fstab)

swapoff 块设备(或者文件)

删除文件或者分区即可

 

情况2: 只有一个交换分区

删除永久设置(fstab)

取消激活swap分区

删除交换分区

创建满足大小空间的交换区

激活新的交换分区

在永久生效

raid磁盘阵列

raid1 镜像(冗余)

磁盘: 最少2块

大小: n/2

raid0 条带化

磁盘: 最少2块

大小: 2n

 

raid5 带奇偶校验的条带化

磁盘: 3块

大小: n-1

 

raid10 (raid1+raid0)

磁盘: 4块

大小: n/2

创建

[root@localhost ~]# mdadm -C /dev/md5 -l 5 -n 3 /dev/sdb /dev/sdc /dev/sdd

-C create

-l level

-n number

[root@localhost ~]# mdadm -D /dev/md5

-D detail

[root@localhost ~]# mdadm -Ds

ARRAY /dev/md5 metadata=1.2 name=localhost.localdomain:5 UUID=bb88d9ef:84dca8e9:8e0f152c:e0df6a86

-s scan

[root@localhost ~]# mdadm -S /dev/md5

-S stop

[root@localhost ~]# mdadm -A /dev/md5 /dev/sd{b,c,d}

-A active

[root@localhost ~]# mkfs.xfs /dev/md5

[root@localhost ~]# mount /dev/md5 /mnt/

删除

[root@localhost ~]# umount /dev/md5

[root@localhost ~]# mdadm -S /dev/md5

[root@localhost ~]# rm -rf /dev/md5

[root@localhost ~]# mdadm --zero-superblock /dev/sdb

[root@localhost ~]# mdadm --zero-superblock /dev/sdc

[root@localhost ~]# mdadm --zero-superblock /dev/sdd

--zero-superblock 清除超级块信息

raid持久化

[root@localhost ~]# mdadm -Ds > /etc/mdadm.conf

[root@localhost ~]# vim /etc/mdadm.conf

DEVICE /dev/sdb /dev/sdc /dev/sdd

ARRAY /dev/md5 metadata=1.2 name=localhost.localdomain:5 UUID=9f2c2290:10f062c1:969cc67c:4d70d4f1

模拟损坏

[root@localhost ~]# mount /dev/md5 /mnt/

[root@localhost ~]# mdadm /dev/md5 -f /dev/sdb -f 模拟损坏

[root@localhost ~]# mdadm /dev/md5 -r /dev/sdb -r 移除磁盘

[root@localhost ~]# mdadm /dev/md5 -a /dev/sde -a 添加磁盘

添加备用盘

方式1: 后期添加

[root@localhost ~]# mdadm /dev/md5 -a /dev/sdb

 

方式2: 创建时指定

[root@localhost ~]# mdadm -C /dev/md5 -l 5 -n 3 /dev/sdb /dev/sdc /dev/sdd -x 1 /dev/sde

-x 1 备用盘数量

[root@localhost ~]# mdadm /dev/md5 -f /dev/sdb 模拟损坏自动换磁盘

带备用盘持久化

[root@localhost ~]# mdadm -Ds > /etc/mdadm.conf

[root@localhost ~]# vim /etc/mdadm.conf

DEVICE /dev/sdb /dev/sdc /dev/sdd /dev/sde

ARRAY /dev/md5 metadata=1.2 spares=1 name=localhost.localdomain:5 UUID=7f24689c:2496cede:f63b4bf8:133a46ed

LVM逻辑卷

功能: 块设备

1.在线扩容

2.空间整合

lvm.png一个底层设备(硬盘或者raid)只能属于一个卷组(vg),一个lv只能从一个取空间

[root@localhost ~]# pvcreate /dev/sdb /dev/sdc /dev/sdd

[root@localhost ~]# pvs

[root@localhost ~]# pvdisplay

 

[root@localhost ~]# vgcreate vgtest /dev/sdb /dev/sdc /dev/sdd

[root@localhost ~]# vgs

[root@localhost ~]# vgdisplay

 

[root@localhost ~]# lvcreate -L 3G -n /dev/vgtest/lv0 vgtest

[root@localhost ~]# lvs

[root@localhost ~]# lvdisplay

 

[root@localhost ~]# mkfs.xfs /dev/vgtest/lv0

[root@localhost ~]# mount /dev/vgtest/lv0 /mnt/

 

lv在线扩容

所在vg必须有足够的空间

[root@localhost ~]# lvresize -L +1G /dev/vgtest/lv0 扩大lv设备

[root@localhost ~]# xfs_growfs /dev/vgtest/lv0 扩大xfs文件系统

 

vg在线扩容

有相应的硬件设备(磁盘或者raid)

[root@localhost ~]# pvcreate /dev/sde

[root@localhost ~]# vgextend vgtest /dev/sde

 

设备替换

替换的设备一定加入vg

[root@localhost ~]# vgextend vgtest /dev/sde

[root@localhost ~]# pvmove /dev/sdb /dev/sde 指定设备移动数据

[root@localhost ~]# pvmove /dev/sde 不指定设备移动

 

移除LVM

[root@localhost ~]# umount /dev/vgtest/lv0

[root@localhost ~]# lvremove /dev/vgtest/lv0

[root@localhost ~]# vgremove vgtest

[root@localhost ~]# pvremove /dev/sdb /dev/sdc /dev/sdd /dev/sde

LVM的快照(占用vg的空间)COW

[root@localhost ~]# lvcreate -L 5M -s -n /dev/vgtest/lv0-s0 /dev/vgtest/lv0 创建快照

[root@localhost ~]# lvremove /dev/vgtest/lv0-s0

-s snapshot快照

用法一: 只用快照,源设备不使用

快照冻结的是源设备瞬间状态,快照内部保存的使是元数据信息,注意:当快照使用率达到100%时,快照损坏

快照中文件的修改不会影响源设备中的文件,只占用快照的空间

 

用法二: 只使用源设备,快照不使用

快照不会随着源设备中文件的改动而改动,快照可以作为对源数据备份

注意:

1.快照大小必须大于数据大小

2.快照不能作为长期备份,临时备份恢复,你要预留足够的空间去保证数据