linux 基础的东西就剩下 磁盘管理和 shell脚本了!嗯,各项命令什么的 可以在实验中慢慢使用、熟悉。这样也能快点!
9/2
LVM(Logical volume Manager)是逻辑卷管理的简称,它是Linux环境下对磁盘分区进行管理的一种机制。
LVM工作原理:通过将底层的物理硬盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用
ps.传统的磁盘管理机制中,我们的上层应用是直接访问文件系统,从而对底层的物理硬盘进行读取,而在lvm中,其通过对底层的硬盘进行封装,当我们对底层的物理硬盘进行操作时,其不再是针对于分区进行操作,而是通过一个叫做逻辑卷的东西来对其进行底层的磁盘管理操作。
9/3
LVM的原理
4个基本的逻辑卷概念
*PE(Physical Extend) 物理扩展
*PV(Physical Volume) 物理卷
*VG(Volume Group) 卷组
*LV (Logical Volume) 逻辑卷
.在使用LVM对磁盘进行动态管理以后,我们是以逻辑卷的方式呈现给上层的服务的。so,我们所有的操作目的就是去创建一个LV(Logical Volume),逻辑卷就是用来取代我们之前的分区,通过对逻辑卷进行格式化,然后加载。
9/5
一块磁盘格式化,在LVM磁盘管理中,首先会将硬盘格式化为物理卷(PV),在格式化的过程中LVM是将底层的硬盘划分为了一个个的PE。
创建一个卷组(VG),VG可比作一个水池,VG的作用就是用来装PE的,可以把一个或多个PV加到VG中
当PV以及VG创建好后不是能够直接使用的,要创建LV
对于创建逻辑卷其实就是从VG中拿出指定数量的PE,VG中的PE可以来自不同的PV,创建逻辑卷的大小取决于VG当中PE存在的数量,并且创建的逻辑卷大小一定是PE的整倍数
对于创建好的LV,就可以对其进行文件系统的格式化了,创建好的LV相对于传统文件管理的分区:*先对文件系统进行格式化操作 *通过mount命令对其进行挂载 这样就可以正常使用逻辑卷
LVM的工作原理总结:
*物理磁盘被格式化为PV,空间被划分为一个个的PE
*不同的PV加入到同一个VG中,不同PV的PE全部进入到了VG的PE池内
*LV基于PE创建,大小为PE的整数倍,组成LV的PE可能来自不同的物理磁盘
*LV现在就直接可以格式化后挂载使用
*LV的扩充缩减实际上就是增加或减少组成该LV的PE数量,其过程不会丢失数据
9/17
删除逻辑卷
创建好的逻辑卷,可以通过创建文件系统,挂载逻辑卷来使用它,不用时,可以卸载
ps.对于创建物理卷,创建卷组以及创建逻辑卷是有严格顺序的,同样,删除逻辑卷组以及
删除物理卷也是有严格要求的
*首先将正在使用的逻辑卷卸载掉 (使用umount命令)
*将逻辑卷先删除 (使用lvremove命令)
*删除卷组 (使用vgremoce)
*最后再来删除我们的物理卷 (使用 pvremove)
9/18
[root@localhost ~]# pvcreate /dev/xvda2
Can't initialize physical volume "/dev/xvda2" of volume group "VolGroup" without -ff
这种提示的话,一般是没有挂载磁盘或者是否正在使用
确认没有被挂载的话可以用这个命令:
#
dmraid -a no
这是由于系统raid默认使用了这个设备,所以要停止他,如已经在系统中使用了raid,那就需要在这个设备的后面加上这个设备的名字
9/19
对于逻辑卷的拉伸操作可以在线进行,不需要卸载掉逻辑卷
*查看当前VG的信息,保证VG中有足够的空闲空间(vgdisplay 或 vgs)
*扩充逻辑卷 (通过lvextend)
*查看完扩充后LV大小 (lvdisplay 或 lvs)
*更新文件系统 (resize2fs)
拉伸一个卷组
对于卷组来说,其实就是将多块PV加入到VG当中,所以对于重新添加一块物理硬盘,将其格式化为PV,然后再将这个PV加入到该卷组中即可
*将要添加到VG的硬盘格式化为PV (通过pvcreate)
*将新的PV添加到指定的VG当中 (vgextend)
*查看当前VG的信息 (vgdisplay 或者 vgs命令)
缩小一个逻辑卷
对于 逻辑卷的缩小操作必须离线执行,要先卸载掉逻辑卷才可以
*卸载已经挂载的逻辑卷 (umount)
*缩小文件系统(会提示需要运行fsck来检查文件系统) resize2fs
eg. resize2fs /dev/xiaoxiao/my 10G //这条命令将文件系统缩小到10G
*缩小LV 通过 lvreduce 命令
对于在缩小的过程中,会提示一个警告,提示会损坏我们的文件
(缩小逻辑卷的操作时一个危险的操作,可能会损坏我们的逻辑卷,造成文
件的丢失或损坏)
缩小卷组
*首先必须卸载掉逻辑卷 (umount)
*将一个PV从指定卷组中移除掉 (vgreduce)
在卸载的时候,需要查看当下有哪些PV正在使用中,因为缩小一个卷组就是
从卷组中移除一个PV (PVS)
eg. vgreduce xiaoxiao /dev/sdc (将/dev/sdc这个指定的PV从指定组删除)
*查看当前卷组信息 (vgdisplay 或者 vgs)
*将PV删除掉 (pvremove)
9/23
df无法显示出swap分区的大小
在分区的时候,ID 分区标示
82 Linux swap / #这个SWAP分区代码了
83 Linux #这个Linux系统的分区代码了
8e Linux LVM #LVM分区的代码
如果在分区之后 在"w"保存的时候 提示
The kernel still uses the old table.
The new table will be used at the next reboot.
那么就用:partprobe 这个命令重新获取以下分区表的信息
P. 对于分区完好的硬盘还是不能使用的,需要对分区格式化才可以,让它变成能让系统识别的分区
格式化工具:
mkfs [ -t 文件系统格式 ] 设备名
或者是
mkfs.文件系统格式 设备名
用 mkfs[tab] [tab]就可以显示出系统所有支持的格式了(可借助help)
-b 指定block的大小1024 2048 4096 默认4096
-I 指定inode的大小(min 128/max 4096) 默认256
-i 指定多少个字节分配一个inode
-L 指定卷标
然后再简单的格式化就好了!eg.
[root@localhost ~]# mkfs.ext4 -L test -b 2048 -i 10240 /dev/sdc1
mke2fs 1.41.12 (17-May-2010)
Filesystem label=test
OS type: Linux
Block size=2048 (log=1)
Fragment size=2048 (log=1)
Stride=0 blocks, Stripe width=0 blocks
241536 inodes, 1204858 blocks
60242 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=538968064
74 block groups
16384 blocks per group, 16384 fragments per group
3264 inodes per group
Superblock backups stored on blocks:
16384, 49152, 81920, 114688, 147456, 409600, 442368, 802816
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 31 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
格式化好之后,我们就可以挂载使用了!
[root@localhost ~]# mount /dev/sdc1 /mnt
[root@localhost ~]# mount
/dev/mapper/VolGroup-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda1 on /boot type ext4 (rw)
/dev/mapper/VolGroup-lv_home on /home type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
/dev/sdc1 on /mnt type ext4 (rw)
l
阅读(1079) | 评论(0) | 转发(0) |