您的位置:首页 > 运维架构 > Linux

Linux下的存储设备的管理

2019-01-23 01:15 267 查看

存储是每个计算机的基本需求。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

  1. 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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: