zoukankan      html  css  js  c++  java
  • 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逻辑卷实现磁盘镜像,在这里就不在叙述,请参考同仁的链接,写的非常不错。

     

     

        

     

      

    不积跬步,无以至千里;不积小流,无以成江海。
  • 相关阅读:
    MyEclipse启动时,报错Error:could not open`E:Program FilesJavaJAVAlibamd64jvm.cfg'
    换JDK以后,MyEclipse无法启动,报错:Failed to load the JNI...
    ORA-12514
    java语言
    基本数据类型
    C# 计算时间间隔,两个时间差(年月日时分秒)
    Java的Stream流
    Java的Lambda表达式和函数式接口
    Java中的Log
    Oracle的触发器Trigger
  • 原文地址:https://www.cnblogs.com/weidongliu/p/10770684.html
Copyright © 2011-2022 走看看