2018-4-11

author author     2022-11-02     169

关键词:

4.10/4.11/4.12 lvm讲解

4.13 磁盘故障小案例



4.10/4.11/4.12 lvm讲解

LVM(logical volume manager 逻辑卷管理),主要用于扩容或缩容磁盘。


技术分享图片

如图所示,假设有两块硬盘a和b

a划分了2个分区 b划分了1个分区。

然后可以把这三个分区组成一个物理卷physical(实际上就是磁盘分区,磁盘分区形成物理卷)。

然后在物理卷的基础上组成卷组(物理卷的集合,可以有1个也可以有两个)。

再在卷组的基础上划分出逻辑卷。

最终再逻辑卷的基础上格式化,挂载到系统上去用。


操作步骤:

1.首先准备磁盘分区

(n创建三个新分区分别1G,然后t改变分区类型为8e)

fidsik /dev/sdb 再p查看

技术分享图片

目前是没有分区的,创建3个1G的分区,n p

技术分享图片

id是83,意味着是普通的分区,用t分别改变成8e 就是LVM的id,这样才能够做物理卷

技术分享图片

这样3个id都是8e,linux LVM 就可以做物理卷了。w保存退出

fdisk -l看一下

技术分享图片

3个都LVM 8e


2:创建物理卷

pvcreate命令创建物理卷,把三个分区都创建成物理卷

技术分享图片

未找到命令 lvm还没有安装。

先安装lvm

技术分享图片

安装包的名字错误。

当想安装一个包 确有忘记名字的时候可以这样

现在忘记了包名字,知道这个命令是pvcreate,可以根据这个命令去搜

技术分享图片

provides后面跟的是一个命令的绝对路径,*是通配的意思(因为这个路径目前是把握不准确的)。

技术分享图片

搜索结果出来后可以看到 这个包的名字是lvm2,安装这个包

技术分享图片

因为他依赖很多包 所以东西比较多。

技术分享图片

安装完成


继续上面的操作pvcreate /dev/sdb1

如果出现这个状况

技术分享图片

实际上有三个分区的,但是系统里面这些文件还不存在

需要运行一个命令 partprobe

技术分享图片然后就有了,就是自动生成意思。


正常情况技术分享图片

运行后提示按y

技术分享图片

同样的 再执行一下sdb2和sdb3

技术分享图片

物理卷创建完成


然后可以用pvdisplay看查系统里所有的物理卷

技术分享图片

还可以用pvs来查看 更直观

技术分享图片


继续创建物理卷组

vgcreate命令。 先用两个物理卷创建一个卷组,组名为vg1

技术分享图片

vgdisplay(更详细)或vgs看查卷组的信息

技术分享图片2个G没问题

vgremove(删除卷组的命令)

有了卷组后就可以创建逻辑卷

命令格式:lvcreate  -L  大小  -n  名字  从哪个组分离,选择100M ,名字lv1

技术分享图片

同样lvdisplay或者lvs查看

技术分享图片


然后开始格式化,这里做ext4格式

技术分享图片

技术分享图片

完成之后挂载到/mnt/下

技术分享图片


df -h看一下

技术分享图片

按理来说应该挂载到mnt下 ,却变成mapper。名字变了。ls -l  /dev/vg1/lv1看一下

技术分享图片

实际上他们指向了同一个文件dm-0


然后在mnt下创建一个目录一个文件,并写入一串数字

技术分享图片


3:扩容和缩容

逻辑卷存在的价值是因为能够很容易的扩容和缩容,多数用的是扩容

扩容命令lvresize -L 200M  /dev/vg1/lv1(原来是100M现在扩容到200M)

先把挂载取消掉umount /mnt/,然后再执行这个操作

技术分享图片


然后做一个检测磁盘错误的命令 e2fsck -f /dev/vg1/lv1

技术分享图片


然后更新逻辑卷信息(不更新的话在挂载时候无法识别新的大小)

resize2fs /dev/vg1/lv1

技术分享图片

然后重新挂载一下

技术分享图片


ls /mnt/

技术分享图片

原先创建的文件没有丢失


然后是缩容(xfs是不支持的)

先umount /mnt/ 取消挂载

然后检测磁盘有无错误e2fsck -f /dev/vg1/lv1

再更新逻辑卷resize2fs /dev/vg1/lv1 100M(改成一百兆)

最后重新设置卷的大小lvresize -L 100M /dev/vg1/lv1 (步骤与扩容大致相同)

技术分享图片

同样lvs或lvdisplay看一下是不是变成100M了

然后去挂载就完成了mount 

技术分享图片

ls /mnt/

技术分享图片文件依然存在

缩容也不会使文件丢失(假如只有100M,文件也是100M刚好,再缩容那就会出问题)



接下来看xfs的扩容(缩容不支持)

前面有两个命令 e2fsck -f /dev/vg1/lv1和resize2fs/dev/vg1/lv1 都是仅仅针对ext4的

重新格式化

技术分享图片


挂载

技术分享图片


重新格式化后原来的文件就没了,重新创建几个文件

技术分享图片

技术分享图片


lvs可以看到现在逻辑卷是100m

技术分享图片

 lvresize -L 300M  /dev/vg1/lv1(扩容成300M)

技术分享图片


df -h看一下

技术分享图片

依旧还是100M,如果想让他变成300M还需要执行xfs_growfs /dev/vg1/lv1,然后再df -h看一下

技术分享图片

变成300M了,这就是xfs的扩容。



扩展卷组(逻辑组怎么扩容都只能扩容到卷组那么大,逻辑卷空间耗完就要去扩容卷组)

前面只用了2个卷组 第三个sdb3没有用。

vgextend vg1 /dev/sdb3

然后vgs或vgdisplay看一下技术分享图片

变3个G了


再去扩容卷组

lvresize -L 100M /dev/vg1/lv1 (重新设置卷大小)就可以了






4.13 磁盘故障小案例

无法正常运行比如

技术分享图片

像这个情况很可能是磁盘的挂载出现了问题,无法正常加载

(前面修改过/etc/fastab这个配置文件)

先输入root密码就可以进入到类似正常的界面。

技术分享图片

最后一行删掉按到最后一行按dd就可以了。

退出来之后reboot重启 ok没问题了








2018/4/11[学了一维数组和多维数组,但是做的是选择的题](代码片段)

用的教材是清华大学出版社的《JAVA语言程序设计》今天上课讲的是一维数组和多维数组二维数组就是由多个一维数组组合而来的多维数组就是依次向下的数组累计而来比如:三维=n个二维=nxm个一维学的虽然是皮毛,习题近期会... 查看详情

使用androidstudio(as)导出jar供unity使用

...导出的目录已经变为intermediates/packaged-classes。我是用Unity2018.4.11c1打安卓包的,然后BuildSystem选择了Gradle,我把导出的jar放到Plugins/libs下面之后会遇到如下报错java.lang.RuntimeException:java.lang.RuntimeException:com.android.builder.dexing.DexArchiveMe... 查看详情