Linux下的存储设备的管理
存储是每个计算机的基本需求。RedHat Linux 提供了一些强大的工具,他们能在大量的场景中管理多种类型的存储设备
1.本地存储设备的识别
fdisk -l ##真实存在的设备
cat /proc/partitions ##系统识别的设备
blkid ##系统可使用的设备
df ##系统正在挂载的设备
1.设备名称
/dev/xdx ##/dev/hd0 dev/hd1 /dev/sda /dev/sda1
/dev/sda2 /dev/sdb /dev/sdb1
/dev/sr0 ##光驱
/dev/mapper/* ###虚拟设备
2.设备的挂载
mount 设备 挂载点 mount /dev/sdb1 /mnt ##挂载sdb1到mnt
umount /mnt ##卸载
mount -o ro /dev/sdb1 /mnt ##只读挂载(无法写入)
mount ##查看挂载信息
mount -o remount,rw /dev/sdb1 ##重新读写挂载
3.解决设备正忙情况
当有程序使用此设备时,无法直接卸载设备
方法1
fuser -kvm /mnt
umount /mnt
方法2
losf /mnt
kill -9 xxxxx
umount /mnt
3.磁盘分区
1. 分区简介
硬盘0磁道1扇区的的512个字节中记录的信息如下
512=446 + 64 + 2
mbr(主引导记录) mpt(主分区标) 55aa(硬盘的有效性标示)
硬盘分区表
64
1个分区占用16个字节
一个硬盘最多可以划分4个主分区
其中最后一个为扩展分区,剩下的都会在扩展分区里,在扩展分区里划分逻辑分区
2.分区步骤
1.fdisk -l
2.fdisk /dev/vdb
Command (m for help): m ---->查看帮助 Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition g create a new empty GPT partition table G create an IRIX (SGI) partition table l list known partition types m print this menu n add a new partition --------------->新建 o create a new empty DOS partition table p print the partition table-------->查看信息 q quit without saving changes-------->退出不保存 s create a new empty Sun disklabel t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit--------->保存 x extra functionality (experts only)
1.建立主分区
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)-------->主分区
e extended------------->扩展分区
Select (default p): p
Partition number (1-4, default 1): 1------->分区数
First sector (2048-20971519, default 2048): 2048-------------->分区开始位置
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +100M--------->分区大小
Partition 1 of type Linux and of size 100 MiB is set
2.建立扩展分区
Command (m for help): n
Partition type:
p primary (3 primary, 0 extended, 1 free)
e extended
Select (default e): e
Selected partition 4
First sector (616448-20971519, default 616448):
Using default value 616448
Last sector, +sectors or +size{K,M,G} (616448-20971519, default 20971519): --------->默认剩余的空间全给扩展分区
Using default value 20971519
Partition 4 of type Extended and of size 9.7 GiB is set
3.建立逻辑分区
逻辑分区即在扩展分区内
Command (m for help): n
All primary partitions are in use
Adding logical partition 5
First sector (618496-20971519, default 618496):
Using default value 618496
Last sector, +sectors or +size{K,M,G} (618496-20971519, default 20971519): +500M
Partition 5 of type Linux and of size 500 MiB is set
Command (m for help): w-------->保存
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
保存后查看分区信息
[root@localhost ~]# cat /proc/partitions major minor #blocks name 253 0 10485760 vda 253 1 10484142 vda1 253 16 10485760 vdb 253 17 102400 vdb1 253 18 102400 vdb2 253 19 102400 vdb3 253 20 1 vdb4------->此为扩展分区,只有1kb,只作为容器,无法使用 253 21 512000 vdb5
4.给设备安装文件系统
ext3 rhel5及之前的版本 最多支持32TB的文件系统和2T的文件,实际12TB文件系统,16G文件
ext4 rhel6 1EB 16TB
xfs rhel7 18EB 9eB 7G/s 4G/s
mkfs.xfs /dev/vdb1 ##格式化
mount /dev/vdb1 /mnt
vim /etc/fstab
设备 挂载点 文件系统 挂载参数 是否备份 是否检测
/dev/vdb1 /mnt xfs defaults 0 0
mount -a 开机即可自动挂载
5.swap分区管理
1.swap分区建立
划分分区并设定分区标签为82
1.mkswap /dev/vdb3 2.swapon -a /dev/vdb3 3.swapon -s
4.vim /etc/fstab /dev/vdb3 swap swap defaults 0 0 ##即可开机自动挂载
2.swap分区删除
1.vim /etc/fstab ##删掉自动挂载 2.swapoff /dev/vdb ##删除swap分区 3.swapon -s
6.配额
配额是针对设备的
mkdir /pub
mkfs.xfs /dev/vdb6 ##格式化
mount /dev/vdb6 /pub
chmod 1777 /pub-------->挂载后再修改权限否则挂载后依然是原来的权限
umount /pub
mount -o usrquota /dev/vdb6 /pub-------->打开用户配额挂载
Disk quotas for user student (uid 1000): Filesystem blocks soft hard inodes soft hard /dev/vdb6 0 0 20480 0 0 0 文件大小软限制 硬限制 文件个数 个数软限制 个数硬限制
su - student ##切换到student测试
截取文件测试
dd if=/dev/zero of=/pub/studentfile bs=1M count=3
dd if=/dev/zero of=/pub/studentfile bs=21M count=3
7.磁盘加密
cryptsetup luksFormat /dev/vdb3---------> 加密(会覆盖原文件内容)
WARNING!
========
This will overwrite data on /dev/vdb3 irrevocably.
Are you sure? (Type uppercase yes): YES------->要用大写
Enter passphrase: ------->密码六位以上的字母和数字组合
Verify passphrase:
cryptsetup open /dev/vdb3 westos-------->打开锁(westos为这个锁的名字)
Enter passphrase for /dev/vdb3:------>输入密码
mkfs.xfs /dev/mapper/westos-------->格式化
mount /dev/mapper/westos /mnt------->挂载
touch /mnt/file{1…8}--------->建立文件
umount /mnt------->卸载
cryptsetup close westos------->关锁
此时即将vdb3相当于锁在了一个盒子里,只有重新输入密码打开锁方可重新挂载
加密磁盘开机自动挂载
1.vim /etc/fstab-------->开启自动挂载
/dev/mapper/westos /mnt xfs defaults 0 0
- vim /etc/crypttab--------->读取密码的方式
westos /dev/vdb3 /root/westoskey
3.vim /root/westoskey------>密码文件
westos2019
4.cryptsetup luksAddKey /dev/vdb3 /root/westoskey
即自动挂载
5.reboot后df查看
取消加密设备
vim /etc/fstab----->注释掉自动挂载
umount /mnt------>卸载
cryptsetup close westos------>关锁
mkfs.xfs /dev/vdb3 -f-------->强制格式化
此时vdb3便不被加密,恢复正常
8.lvm
1.lvm建立
pv ##物理卷
被lv命令处理过的物理分区
vg ##物理卷组
被组装到一起的物理卷
pe ##图里扩展
lv设备的最小存储单元lvm是pe的整数倍
lvm ##逻辑卷
直接使用的设备,可以增大缩减并保持原有数据不变
1.分区时定分区标签为8e
2.打开监控命令
watch -n 1 "pvs;echo ===;vgs;echo ===;lvs;echo ===;df -h /mnt"
3.
pvcreate /dev/vdb5 ##建立物理卷 pvcreate /dev/vdb6
4.
vgcreate vg0 /dev/vdb5 ##建立物理卷组 vgextend vg0 /dev/vdb6
5.
lvcreate -L 20M -n lv0 vg0 ##建立lvm
6.
mkfs.xfs /dev/vg0/lv0 ##格式化为xfs文件系统 mount /dev/vg0/lv0 /mnt ##挂载
df -H /mnt ##查看lvm大小(H1000k为1M,h1024k为1M)
2.lvm的拉伸
1.watch -n 1 "pvs;echo ===;vgs;echo ===;lvs;echo ===;df -h /mnt" ##打开监控 2.lvextend -L 800M /dev/vg0/lv0 ##lvm拉伸,总量不可超过vg0
3.xfs_growfs /dev/vg0/lv0 ##xfs文件系统的扩展
若vg0不够,则添加
1.fdisk /dev/vdb ##建立新的分区 2.partprobe ##同步分区 3.pvcreate /dev/vdb7 ##添加物理卷 4.vgextend vg0 /dev/vdb7------->扩大物理卷组
5.lvextend -L 1400M /dev/vg0/lv0 ##拉伸到1500M 6.xfs_growfs /dev/vg0/lv0 ##扩展文件系统容量
3.lvm缩减
xfs文件系统无法缩减
1.umount /mnt ##卸载/dev/vg0/lv0 2.mkfs.ext4 /dev/vg0/lv0 ##转换文件系统
3.e2fsck -f /dev/vg0/lv0 ##检测改设备是否安全 4.resize2fs /dev/vg0/lv0 1000M ##将文件系统缩减到1000M 5.mount /dev/vg0/lv0 /mnt ##重新挂载后查看
6.lvreduce -L 1000M /dev/vg0/lv0 ##将逻辑卷缩减到1000M
7.pvmove /dev/vdb7 /dev/vdb6 ##将物理卷7数据移入物理卷6 8.vgreduce vg0 /dev/vdb7 ##移出物理卷7 9.pvremove /dev/vdb7 ##删除物理卷7
4.lvm快照
lvcreate -L 50M -n /dev/vg0/lv0_snap -s /dev/vg0/lv0
示例
1. ls /mnt 2.touch /mnt/file{1..8} 3.ls /mnt 4.umount /mnt 5.ls /mnt 6.lvcreate -L 50M -n /dev/vg0/lv0_snap -s /dev/vg0/lv0 ##快照 7.mount /dev/vg0/lv0_snap /mnt ##挂载快照 8.ls /mnt
若快照损坏,则删除后重新建立即可
1.rm -fr /mnt/* 2.ls /mnt 3.umount /mnt 4.lvremove /dev/vg0/lv0_snap ##删除有问题的快照 5.lvcreate -L 50M -n /dev/vg0/lv0_snap -s /dev/vg0/lv0 ##重新建立快照 6.mount /dev/vg0/lv0_snap /mnt ##挂载新建的快照 7.ls /mnt
5.lvm删除
1.umount /mnt ##卸载 2.lvremove /dev/vg0/lv0_snap ##删除快照 3. lvremove /dev/vg0/lv0 ##删除逻辑卷 4.vgremove vg0 ##删除物理卷组 5.pvremove /dev/vdb5 ##删掉物理卷 6.pvremove /dev/vdb6 7.pvremove /dev/vdb7
8.fdisk /dev/vdb ##删除分区 9.fdisk -l
- Linux系统存储设备的管理与磁盘配额
- Linux存储在线管理(一)FC磁盘设备管理
- LINUX-存储设备的管理
- linux系统基本操作——存储设备的管理
- linux中的存储设备的管理
- Linux存储在线管理(一)FC磁盘设备管理
- 构建嵌入式Linux系统-存储设备管理
- Linux存储设备的管理
- LInux中存储设备的管理
- linux——存储设备的管理
- Linux 基础操作(十六)————存储设备的管理、挂载、磁盘分区
- Linux存储在线管理(一)FC磁盘设备管理
- iscsi共享存储... udev 高效 管理Linux设备文件
- 文件系统管理 之 在Linux系统中存储设备的两种表示方法
- Linux中的存储设备管理
- Linux存储设备的管理
- Linux存储设备的管理与分区
- Linux存储在线管理(一)FC磁盘设备管理
- linux系统之存储设备的管理
- Blog16@linux存储设备的管理(2)—分区