linux 5000行日志,linux学习日记之磁盘的管理

1.本地存储设备的识别

fdisk -l 真实存在的设备

e812ffdc1af3320e66d99b8ea5a471a2.png

cat /proc/partition 系统识别的设备

e50b2ca51de78c53a1a1197d717c13ac.png

blkid 系统可以使用的设备

0f9afe5e56d673f1c62d2635ae7ebedd.png

df 查看系统正在挂载的设备

b20c0f5e0231029179f75db59a474ae7.png

2.设备的挂载和卸载

/dev/xdx 设备名称

/dev/sr0 光驱 (光驱可以通过eject命令弹出)

/dev/mapper/ 虚拟设备

mount(umount) /dev/hd0/ /mnt 挂载(卸载)/dev/hd0 到/mnt下

3.磁盘的分区

分区就是将一块硬盘,无论是什么格式的,把它的空间分为几块,这样能更有效,高效的使用硬盘。

磁盘分区是在磁盘上划分几个逻辑部分,盘片一旦划分成数个分区,不同类的目录与文件可以存储进不同的分区。可以将文件的性质区分得更细,按照更为细分的性质,存储在不同的地方以管理文件。

用fdisk -l查看系统的磁盘使用情况,发现/dev/vdb/为空磁盘,用/dev/vdb/做实验

6a360ce1d947f455fd7e4922795ea8fc.png

1)用fdisk /dev/vdb/命令对vdb进行分区

d7ca8ca591f443c832c9a4aa4570100f.png

建立三个主分区

第一个主分区

d91d46a7a6be1bfc849c9046d22853ae.png

其中:d表示删除;n表示新建一个分区;p表示显示分区信息;q表示不保存退出;t表示修改分区的id;w表示保存分区表到硬盘。

00bd450e3dce74bf131dc00cf980434a.png

fd7ac5ed12e143b13d519dfebfe1c921.png

第二个主分区

2668ddb8a844e47f97dd65b36d674999.png

c5a9cf7b7d246149cbd410b590c91abc.png

第三个主分区

45d56089f12ac8d9b9f1c1cfc40570e8.png

c3e13b0b15e11ed95043c01566785312.png

建立扩展分区(将主分区之外的空间都给扩展区分,在扩展分区中又能划分逻辑分区)

cddb8cde1eb9408326f63b5cd86abd6e.png

bf8bdf96c234b49986b3c01980d5148b.png

在扩展分区中建立逻辑分区

d93ddd5975bdafc0445c4e79a5bef55d.png

b6acfd889c040bc07d02da15d26afb3f.png

保存退出

092643e853e723c24f920429a644b036.png

2)分区的删除

0426768829519c2c9363eaaa01f98b45.png

dec125977ded17b1b7c00b580fe44637.png

db9c46083bd8061d89dcdfb71d1bc89d.png

fc0b7d291df15f749c64045d8933fa11.png

2)给设备铺设文件系统

mkfs.xfs /dev/vdb1 给vdb1铺设xfs类型的文件系统

081624ce92bc3dd3eb87ace47707adca.png

mount /dev/vdb1/ /mnt 挂载/dev/vdb1 到/mnt

57701f680c4e1720575f9e3793a12d15.png

df6d83c363254d4d3f0841855e8ee254.png

测试是否可以使用

77247be5a2b14231104e822e3ae8b2fc.png

a98f6ca4980b796a6eabbc39ae46fde9.png

卸载之后所建立的文件消失,代表可以使用,文件自动保存在/dev/vdb1中,再次挂载即可卡看并使用

设置开机自动挂载

vim /etc/fstab/ 编辑/etc/fatab/文件

66caaf80a080fed9ada8be82dd2fe044.png

mount -a 用来重启/etc/fstab中的所有文件系统,同时也可以用来检测挂载是否正确,当挂载正确时,不会出现报错

fbb938c09dc627ba3116c845504366d8.png

测试:

重启系统前

7ffbe6bbfd613de9c1fe5a6099ec870b.png

重启系统后

0059bb74f9c1069c213ab0872e70c63d.png

如果自动挂载文件中的内容写错了,导致系统就不能正常启动了,解决方法:可先根据系统提示编辑出错的配置文件,将修改的内容注释掉,先将系统启动,之后再进行排错

4.swap分区的建立

swap分区: 在系统的物理分区内存不够用时,把物理内存中的一部分空间释放出来,以供当前运行的程序使用.那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到swap分区中,等到那些程序要运行时,在从swap分区中恢复保存的数据到内存中.通常swap分区的空间应该大于或等于物理内存的大小,最小不小于64M,通常swap分区大小为物理内存的2-2.5倍.

1)用fdisk /dev/vdb/命令建立新的分区

748792f0a5970cfb6daddc9f11a708be.png

e05d5471ab2ca55c01228fd41d0d7017.png

2)修改分区标签为82

通过t来修改分区的id

9dd05e78fea88714f0f1d3c6be9cf3db.png

看到/dev/vdb6的id由原来的Linux改为了Linux swap / Solaris,代表swap分区已经建立好

8c204b9a28b3c35d54c018be24de21dc.png

3)mkswap /dev/vdb5 给dev/vdb6铺设文件系统

289612cd9188dffbe2e3f5f0b061d113.png

4)swapon -a /dev/vdb5 挂载swap交换分区

5)swapon -s 查看挂载信息

1abaafed37f1d8d57bce618c40abb766.png

6)vim /etc/fstab

/dev/vdb5 swap swap defaults 0 0 设置开机自动挂载

f771fe3c75ff72a020beec323daa3e9b.png

5.swap分区的删除(同时完成卸载)

vim /etc/fstab 修改配置文件(删除swap分区的开机自动挂载命令)

2db4b09621cfbaae7a08e56ae1da6e2f.png

swapoff /dev/vdb5 关闭swap交换空间(包括交换文件和交换分区)

949d2a57ea43558dc82f4d9a6ddcc6fc.png

swapon -s 查看swap分区的使用情况,发现swap交换分区已经关闭.

6.磁盘配额

1)新建分区并为其铺设文件系统

48894964da1213a471dfbb991239f612.png

a7eeb6f211207764c52b3cf1ac8783f9.png

c55bb40dc47ff1fd15ffc183e484d9db.png

96f22a857369e52d129b302e8f477d26.png

铺设文件系统

0c7a74649823690c509135dbfae7f9fb.png

131f554a6c32bf3f26f73addee403d5b.png

2)mkdir /public

chmod 777 /public

ll -d /public

dbf1dbdeffcde0153bddd004ab158210.png

3)挂载

mount -o usrquota /dev/vdb6 /public

ll -d /public

chmod 777 /public

f68d5d99ca06a778356ba6f2b9e7e5f8.png

证明文件的权限是记录在磁盘分区上的,而不是目录本身

4)对student用户进行配额

edquota -u student 对student用户进行限额配置,这里限额20M(总分区内存100M)

640f5040cc66ba81c2a3dc71d2e806da.png

e33a1bfc70952bade0ebf94e64840378.png

5)设置开机自动挂载

vim /etc/fstab 编辑/dev/vdb7自动挂载的配置文件

6)mount -a 实现/etx/fstab中所有的文件系统的挂载

7)测试:

66bb5bf62fda6639946b388ea2252a2a.png

a09f065d710fd60f766b96ce9968bc9b.png

磁盘加密

对磁盘加密以后,可用来保存重要的文件,当不知道密码强行打开时,磁盘内文件会损坏,安全系数较高

1)新建分区

2)加密 cryptsetup lucksFormat /dev/vdb9

efb788dce106c09a8035a072756ef59f.png

3)打开

crotsetup open /dev/vdb8 xin

5530e4e18eee065e3c024e13025b4422.png

打开之后,会在相应目录产生相应的链接文件

4)铺设文件系统

mkfs.xfs /dev/mapper/xin

7a5ac4e5486e19fe5be98072bf81db91.png

5)挂载该分区,进行测试,看该分区是否已经能够正常使用

mount /dev/mapper/xin /mnt

touch /mnt/file{1..3}

94c3afe0f6bb29e4187b29af25a0dd38.png

6)卸载

umount /mnt

7)cryprtsetup close xin

4d37653aa7a3f4d3cb61d1aecf29f82b.png

原来生成的链接文件消失,代表锁已关闭。

8. lvm

LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,它由Heinz Mauelshagen在Linux 2.4内核上实现,目前最新版本为:稳定版1.0.5,开发版 1.1.0-rc2,以及LVM2开发版。Linux用户安装Linux操作系统时遇到的一个常见的难以决定的问题就是如何正确地评估各分区大小,以分配合适的硬盘空间。普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文件系统的限制,也不能跨越多个分区来存放,所以也不能同时放到别的磁盘上。而遇到出现某个分区空间耗尽时,解决的方法通常是使用符号链接,或者使用调整分区大小的工具,但这只是暂时解决办法,没有从根本上解决问题。随着Linux的逻辑卷管理功能的出现,这些问题都迎刃而解,用户在无需停机的情况下可以方便地调整各个分区大小。

1)pv:物理卷:指磁盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。

2) vg: 物理卷组:物理卷组(Volume Group,VG)

类似于非LVM系统中的物理磁盘,其由一个或多个物理卷PV组成。可以在卷组上创建一个或多个LV(逻辑卷)。

3) pe:物理扩展: 每一个物理卷PV被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。所以物理卷(PV)由大小等同的基本单元PE组成。 lvm的最小存储单元,lvm是pe的整数倍

4) lvm: 逻辑卷:类似于非LVM系统中的磁盘分区,逻辑卷建立在卷组VG之上。在逻辑卷LV之上可以建立文件系统(比如/home或者/usr等)。是可以直接使用的设备,可以增大缩小并保持原有数据不变。

lvm的建立

1.分区并设定分区格式为8e

1c865fdd196452a54c7ef6961c66bfb9.png

7ce835b42c664d3ff76b86a7feb41fc8.png

2dc9d5d1edbbe9f94f956adb4b4ea800.png

20b66f59b23f69d071675164260d0913.png

2.监控

watch -n 1 'pvs;echo===;vgs;echo===;lvs;echo===;df -h /mnt'

b5767f83cbc81054b2c0df78bb013084.png

3.生成pv

pvcreate /dev/vdb1

b0e14f54b3638431bd700e600ccfde4d.png

3.生成vg

vgcreate vg0 /dev/vdb1

68b080a96c97917f513e82a4d302f978.png

补充:

lvdisplay 可以查看lv的大小

vgdisplay 可以查看vg的大小和pe的大小

pvdispaly 可以查看pe的大小

lvs 可以用来查看lv的信息

vgs 可以用来查看vg的信息

pvs 可以用来查看pv的信息

vgcreate -s 8M vg0 /dev/vdb1 生成vg1并指定pe的大小为8M

lvcreate -l 10 lv0 vg0 指定生成的lv的大小为10个pe的大小

4.生成lv

lvcreate -L 20M -n lv0 vg0

654134c22b2a5b5babc1016b096d99b1.png

0e2e0823235198701e2510765b3b0815.png

5.为dev/vg0/lv0铺设文件系统

mkfs.xfs /dev/vg0/lv0

2143c64bf76e1923ffa41a0cad1d72e2.png

ae62fa729ed231b0dc05506f64ed23e8.png

变成了一种虚拟设备

6.挂载/dev/vg0/lv0

mount /dev/vg0/lv0 /mnt

01f6f895412df328ae31e38867e578a7.png

7.查看挂载点的信息

df -h /mnt

c0bd619c670712cff2a473e5a8f4cfe3.png

233a822d9d57f7b60ca0ecb65473a4aa.png

可以使用,表示已经挂载好。

监控结果

037d769172ee9df50cb2ab0933a19e31.png

8.设置开机自动挂载

编辑配置文件

787a8e5f4f6bf6dd2dcaf3fff68bcc7a.png

lvm的拉伸

xfs文件系统的拉伸

lvm支持热拉伸(即不用卸载,直接拉伸),不支持缩减

1.当vg中的剩余容量足够时

1)lvextend -L 80M /dev/vg0/lv0 拉伸设备至80M

899756f63eb4269d3ceeb8c934e57bbd.png

2)xfs_growfs /dev/vg0/lv0 拉伸文件系统,不用指定拉伸的大小,系统自动补全(大小和设备大小一样)

88746068c117683743b47fcd3d68a50e.png

监控结果:

5f89d46c994f28268d236ec40c0b48f8.png

2.当vg中剩余容量不足时

1)再次建立分区并修改标签为8e

2)pvcreate /dev/vdb2 生成pv

496a107ed5fc80a0be6a173ad49df683.png

3)vgextend vg0 /dev/vdb2 将生成的物理卷放到物理卷组vg0中

90e6bf8a9f910162589cca7d547dad52.png

4)lvextend -L 200M /dev/vg0/lv0 拉伸设备至200M

3824fe82010b5d73f756a80d379a9797.png

5)xfs_growfs /dev/vg0/lv0 拉伸文件系统,不用指定拉伸的大小,系统自动补全(大小和设备大小一样)

44331f106bf1f19a3967f720ac58f2bd.png

监控结果

a8ba7530bad13bbdaf2537210d440871.png

3.ext文件系统的拉伸和缩减

拉伸:lvextend -L 250M /dev/cg0/lv0 拉伸设备,至250M

c9baa0cc4c33fcf87cbbc431f4654e27.png

拉伸文件系统:resize2fs /dev/vg0/lv0 拉伸文件系统,不用指定拉伸的大小,系统自动补全(大小和设备大小一样)

16794d37b111d3f10f39250cd37da57a.png

监控结果

dd1e945d521abb8f591e5aae488e1b67.png

缩减(不支持热缩减,须先卸载,再缩减)(缩减和拉伸正好相反:拉伸先拉伸设备,再拉伸文件系统;缩减先缩减文件系统,再缩减设备)

1)umount /dev/vg0/lv0 或者 umount /mnt

83d33d1afae69c4eb47b2124dcb8d579.png

2)e2fsck -f /dev/vg0/lv0 扫描并检查

be7673b499b74bc45edade010bb302ae.png

3)resize2fs /dev/vg0/lv0 80M 缩减文件系统至80M

ee9148a151fb3adef2818dfe9360e7f5.png

4)lvreduce -L 80M /dev/vg0/lv0 缩减设备至80M(这里要指定缩减以后的大小)

5629d13c4fd4849a0dd2ea6f386170ff.png

5)monut /dev/vg0/lv0 /mnt 挂载来查看文件系统的大小是否缩减成功

41de167c97bd97039ed9c10ac8f84c3e.png

监控结果

dc62602ee3169ddd2f005cfda5e89b08.png

4.vg的缩减

1)当vg未使用时

vgreduce vg0 /dev/vdb2 将/dev/vdb2从vg0中移出(缩减vg)

e52803cc46a90e045db9dcd885ee7b5e.png

为了完成下面的测试,需要将vg再添加进来

vgextend vg0 /dev/vdb2

22cd5a649042097991630d4a0a73c7c6.png

af2e3695beecbc2fa079a882b09c4e03.png

2)当vg有人在使用时,要进行数据的迁移

pvmove /dev/vdb1 /dev/vdb2 将/dev/vdb1中的数据迁移到/dev/vdb2

f69de46e4a401ba63fbddaa4f5139d2c.png

vgreduce vg0 /dev/vdb1 将/dev/vdb1从vg0中移出(缩减vg)

f11e4db414bf4868a6ec21c58a2624a8.png

pvremove /dev/vdb1 移出/dev/vdb1对应的pv

76e3c8a2c003f69aa4a775ef2cd75205.png

监控结果

976494f5ac48fe4cb12e8752368cfeb2.png

5.lvm快照(快照的损坏不影响原设备)

1)生成lvm快照,大小为40M

lvcreate -L 40M -n lv0-backup -s /dev/vg0/lv0

8ff6338250d41e2a939751102f313093.png

2)挂载

mount /dev/vg0/lv0-backup /mnt

c864c1623a5355678a39b41d4d9a4bfc.png

3)如果存入的数据大小大于lvm快照本身,则会损坏快照

dd if=/dev/zero of=/mnt/file bs=1M count=50M

此时,/dev/vdb1/lv0-backup会自动卸载

b8df66d679d6068d09d577cf8e008ab5.png

09dee1119b7e604e7050678d73c7f2e9.png

4)再次挂载会报错

mount /dev/vg0/lv0-backup /mnt

eeb9b9d7ec619a77160c9d6af09bf2f7.png

5)重新生成快照

lvremove /dev.vg0/lv0-backup 移除快照

6eb473bc2d871c239461e62085ff44cb.png

lvcreate -L 40M -n lv0-backup -s /dev/vg0/lv0 重新生成快照

e0e376b64542de32497148b0e06d820f.png

6)lv,vg,pv以及快照的移除

lvremove /dev/vg0/lv0-backup 移除快照

lvremove /dev/vg0/lv0 移除lv0

vgremove vg0 移除vg0

pvremove /dev/vdb2 移除/dev/vdb2生成的快照

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值