磁盘分区
硬盘: 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.空间整合
一个底层设备(硬盘或者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.快照不能作为长期备份,临时备份恢复,你要预留足够的空间去保证数据