shell命令之---LVM文件系统

1、文件系统

  现在文件系统主要分为:日志文件系统写时复制文件系统

  文件系统日志方法


方法                             描述


数据模式                 索引节点和文件都会被写入日志;丢失数据风险低,但性能差
有序模式                 只有索引节点数据会被写入日志,但只有数据成功写入后才删除;在性能和安全性之间取得了良好的折中
回写模式                 只有索引节点数据会被写入日志,但不控制文件数据何时写入;丢失数据风险高,但仍比不用日志好


日志文件系统主要包括:ext3文件系统采用有序模式的日志功能、ext4文件系统采用有序模式的日志功能、Reiser文件系统采用回写日志模式 、JFS文件系统采用有序日志模式、XFS文件系统采用回写日志模式。

写时复制文件系统主要包括:ZFS文件系统、Btrf文件系统。

2、操作文件系统

  创建分区时,如果创建的新分区显示,可以使用partprob或hdparm命令,让系统读取更新过的分区表。


  创建文件系统的命令行程序


 工具                                  用途


 mkefs       创建一个ext文件系统

mke2fs       创建一个ext2文件系统
mkfs.ext3     创建一个ext3文件系统
mkfs.ext4     创建一个ext4文件系统
mkreiserfs      创建一个ReiserFS文件系统
jfs_mkfs       创建一个JFS文件系统
mkfs.xfs                创建一个XFS文件系统
mkfs.zfs                创建一个ZFS文件系统
mkfs.btrfs             创建一个Btrfs文件系统


  注:mount 这种挂载文件系统的方法只能临时挂载文件系统。当重启Linux系统时,文件系统并不会自动挂载。要强制Linux在启动时自动挂载新的文件系统,可以将其添加到/etc/fstab文件。

3、LVM逻辑卷管理

  创建LVM逻辑卷步骤:

  a、定义物理卷,将需要创建为LVM的逻辑卷的分区类型调整为8e。

 [...]
Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)
Command (m for help): p
Disk /dev/sdb: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xa8661341
Device Boot Start End Blocks Id System
/dev/sdb1 1 262 2104483+ 8e Linux LVM
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.

  b、接下来分区创建实际的物理卷。

# pvcreate /dev/sdb1
dev_is_mpath: failed to get device for 8:17
Physical volume "/dev/sdb1" successfully created 

  查看创建的信息,可以适用pvdisplay命令来显示已创建的物理卷列表。

# pvdisplay /dev/sdb1
"/dev/sdb1" is a new physical volume of "2.01 GiB"
--- NEW Physical volume ---
PV Name /dev/sdb1
VG Name
PV Size 2.01 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID 0FIuq2-LBod-IOWt-8VeN-tglm-Q2ik-rGU2w7

  c、创建卷组

# vgcreate Vol1 /dev/sdb1
Volume group "Vol1" successfully created

  查看新建的卷组的信息,可以使用vgdisplay命令。

# sudo vgdisplay Vol1
--- Volume group ---
VG Name Vol1
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size 2.00 GiB
PE Size 4.00 MiB
Total PE 513
Alloc PE / Size 0 / 0
Free PE / Size 513 / 2.00 GiB
VG UUID oe4I7e-5RA9-G9ti-ANoI-QKLz-qkX4-58Wj6e

  d、创建逻辑卷

        lvcreate的选项


选项             长选项名                         描述


 -c       --chunksize       指定快照逻辑卷的单位大小

-C        --contiguous       设置或重置连续分配策略
-i         --stripes                      指定条带数
-I                     --stripesize                    指定每个条带的大小
-l         --extents         指定分配给新逻辑卷的逻辑区段数,或者要用的逻辑区段的百分比
-L        --size            指定分配给新逻辑卷的硬盘大小
                       --minor                            指定设备的次设备号
-m                  --mirrors                          创建逻辑卷镜像
-M                 --persistent                      让次设备号一直有效
-n                   --name                             指定新逻辑卷的名称
-p                  --permission                     为逻辑卷设置读/写权限
-r                   --readahead                     设置预读扇区数
-R                  --regionsize                      指定将镜像分成多大的区
-s                   snapshot                          创建快照逻辑卷
-Z                   --zero                              将新逻辑卷的前1 KB数据设置为零


   创建逻辑卷

  # lvcreate -l 100%FREE -n lvtest Vol1
  Logical volume "lvtest" created

  查看创建的逻辑卷的详细情况,可以使用lvdisplay命令。

# lvdisplay Vol1
--- Logical volume ---
LV Path /dev/Vol1/lvtest
LV Name lvtest
VG Name Vol1
LV UUID 4W2369-pLXy-jWmb-lIFN-SMNX-xZnN-3KN208
LV Write Access read/write
LV Creation host, time ... -0400
LV Status available
LV Size 2.00 GiB
Current LE 513
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:2

-l选项定义了要为逻辑卷指定多少可用的卷组空间。注意,你可以按照卷组空闲空间的百分比来指定这个值。本例中为新逻辑卷使用了所有的空闲空间。
你可以用-l选项来按可用空间的百分比来指定这个大小,或者用-L选项以字节、千字节(KB)、兆字节(MB)或吉字节(GB)为单位来指定实际的大小。 -n选项允许你为逻辑卷指定一个名称(在本例中称作lvtest)。

  e、创建文件系统

   运行完lvcreate命令之后,逻辑卷就已经产生了,但它还没有文件系统。你必须使用相应的命令行程序来创建所需要的文件系统。

# mkfs.ext4 /dev/Vol1/lvtest
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
131376 inodes, 525312 blocks
26265 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=541065216
17 block groups
32768 blocks per group, 32768 fragments per group
7728 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 28 mounts or
180 days, whichever comes first.Use tune2fs -c or -i to override.

   在创建了新的文件系统之后,可以用标准Linux mount命令将这个卷挂载到虚拟目录中,就跟它是物理分区一样。唯一的不同是你需要用特殊的路径来标识逻辑卷。 

# mount /dev/Vol1/lvtest /mnt/my_partition

4、修改LVM 

Linux LVM命令


 命令                          功能


 vgchange     激活和禁用卷组

vgremove     删除卷组
vgextend     将物理卷加到卷组中
vgreduce     从卷组中删除物理卷
lvextend     增加逻辑卷的大小
lvreduce     减小逻辑卷的大小


5、如何扩大卷组

重新从第二个硬盘上创建一个分区sdb3,并将创建好的分区加入大已经存在的卷组myvg中

6、如何扩大逻辑卷

首先要确定扩展多大,并确定当前逻辑卷所在的卷组有足够的空闲空间可用,扩展时要先扩展物理边界,在扩张逻辑边界

7、如何缩减逻辑卷

确定要缩减为多大?至少能容纳原有的所有数据,逻辑卷缩减有风险,所以要卸载并强行检测文件系统

缩减逻辑卷空间的步骤如下:

1.先卸载逻辑卷/dev/myvg/textlv

2.然后通过e2fsck命令检测逻辑卷上空余的空间

3.使用resize2fs将文件系统减少到3G

4.再使用lvreduce命令将逻辑卷减少到3G

注意,文件系统大小和逻辑卷大小一定要保持一致才行,如果逻辑卷大于文件系统,由于部分区域未格式化成文件系统会造成空间的浪费,如果逻辑卷小于文件系统,那数据就出问题了

8、如何缩减卷组

首先要确定移除的物理卷,将此物理卷上的数据转移至其他的物理卷,然后从卷组中将此物理卷移除

如何创建快照卷

要创建快照要满足三个条件:

1.生命周期为整个数据时长,在这段时长内,数据的增长量不能超出快照卷大小

2.快照卷应该是只读的

3.跟原卷在同一个卷组内

-s 创建快照

-p 指定快照权限为只读r

-n指定快照名称

在对快照进行归档压缩后可以对快照进行删除操作

9、删除逻辑卷,卷组和物理卷

移除物理卷之后可以将这些分区转化成普通的分区,即系统ID为83

 

10、关于LVM逻辑卷实现磁盘镜像,在这里就不在叙述,请参考同仁的链接,写的非常不错。

 

 

    

 

  

不积跬步,无以至千里;不积小流,无以成江海。
原文地址:https://www.cnblogs.com/weidongliu/p/10770684.html