亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

    Linux入門解析

    Linux入門解析

    本節(jié)介紹如何對LVM進行擴容。

    1、擴展LV

    現(xiàn)在假設lvol0的大小不夠用了。我們將vgpool1中剩余的4.99G都分配給他,對該LV進行擴容。

    [root@localhost ~]# lvextend -L +4.99G/dev/vgpool1/lvol0

    Rounding size to boundary between physical extents: 4.99 GiB.

    Size of logical volume vgpool1/lvol0 changed from 20.00 GiB (5120extents) to 24.99 GiB (6398 extents).

    Logical volume vgpool1/lvol0 successfully resized.

    [root@localhost ~]#

    此時只是LV的大小增加了,可是文件系統(tǒng)的大小并沒有增加。

    [root@localhost ~]# lvscan | grep lvol0

    ACTIVE'/dev/vgpool1/lvol0' [24.99 GiB] inherit

    [root@localhost ~]# df -h | grep lvol0

    /dev/mapper/vgpool1-lvol0 20G33M 20G 1% /mnt/lvmpool0_mount

    [root@localhost ~]#

    使用xfs_growfs將文件系統(tǒng)的容量增加(若使用的是ext系列的文件系統(tǒng),則使用resize2fs)

    [root@localhost srv]# xfs_growfs /mnt/lvmpool0_mount/

    meta-data=/dev/mapper/vgpool1-lvol0isize=512 agcount=4, agsize=1310720blks

    =sectsz=512 attr=2, projid32bit=1

    = crc=1 finobt=0 spinodes=0

    data=bsize=4096 blocks=5242880,imaxpct=25

    =sunit=0 swidth=0 blks

    naming=version 2bsize=4096 ascii-ci=0 ftype=1

    log=internalbsize=4096 blocks=2560,version=2

    =sectsz=512 sunit=0 blks,lazy-count=1

    realtime =none extsz=4096 blocks=0, rtextents=0

    data blocks changed from 5242880 to 6551552

    我們可以看到block確實增加了,使用df命令可以觀察到,文件系統(tǒng)也確實增加了:

    [root@localhost srv]# df -Th | grep lvol0

    /dev/mapper/vgpool1-lvol0 xfs 25G33M 25G 1% /mnt/lvmpool0_mount

    關(guān)于LV縮容:

    1、xfs文件系統(tǒng)不支持縮容

    2、如果使用的是ext系列的文件系統(tǒng),在e2fsck檢測通過后,先用resize2fs將文件系統(tǒng)大小減少。然后可以使用lvreduce進行縮容(該命令用法與lvextend基本一致)。建議先備份數(shù)據(jù),以免數(shù)據(jù)丟失。

    2、擴展VG

    假設現(xiàn)在24.99G依然不夠用,由于VG的空間已經(jīng)使用完了,我們可以再從sdc上分出一個5G的分區(qū),并把它加入VG中

    [root@localhost ~]# fdisk /dev/sdc

    Welcome to fdisk (util-linux 2.23.2).

    Changes will remain in memory only, untilyou decide to write them.

    Be careful before using the write command.

    Command (m for help): p

    Disk /dev/sdc: 21.5 GB, 21474836480 bytes,41943040 sectors

    Units = sectors of 1 * 512 = 512 bytes

    Sector size (logical/physical): 512 bytes /512 bytes

    I/O size (minimum/optimal): 512 bytes / 512bytes

    Disk label type: dos

    Disk identifier: 0xa8ca5dfd

    Device Boot Start End BlocksId System

    /dev/sdc1 2048 104878075242880 8e Linux LVM

    Command (m for help): n

    Partition type:

    p primary (1 primary, 0 extended,3 free)

    e extended

    Select (default p): p

    Partition number (2-4, default 2):

    First sector (10487808-41943039, default10487808):

    Using default value 10487808

    Last sector, +sectors or +size{K,M,G}(10487808-41943039, default 41943039): +5G

    Partition 2 of type Linux and of size 5 GiBis set

    Command (m for help): t

    Partition number (1,2, default 2): 2

    Hex code (type L to list all codes): 8e

    Changed type of partition 'Linux' to 'LinuxLVM'

    Command (m for help): p

    Disk /dev/sdc: 21.5 GB, 21474836480 bytes,41943040 sectors

    Units = sectors of 1 * 512 = 512 bytes

    Sector size (logical/physical): 512 bytes /512 bytes

    I/O size (minimum/optimal): 512 bytes / 512bytes

    Disk label type: dos

    Disk identifier: 0xa8ca5dfd

    Device Boot Start End BlocksId System

    /dev/sdc1 2048 104878075242880 8e Linux LVM

    /dev/sdc2 10487808 209735675242880 8e Linux LVM

    Command (m for help): w

    The partition table has been altered!

    Calling ioctl() to re-read partition table.

    WARNING: Re-reading the partition tablefailed with error 16: Device or resource busy.

    The kernel still uses the old table. Thenew table will be used at

    the next reboot or after you runpartprobe(8) or kpartx(8)

    Syncing disks.

    [root@localhost ~]#

    [root@localhost ~]# ls /dev/sd*

    /dev/sda/dev/sda1 /dev/sda2 /dev/sdb/dev/sdc /dev/sdc1

    sdc2似乎沒有識別出來

    [root@localhost ~]# cat /proc/partitions

    major minor#blocks name

    8 0 20971520 sda

    8 11048576 sda1

    8 2 19921920 sda2

    8 16 20971520 sdb

    8 32 20971520 sdc

    8 33 5242880 sdc1

    11 0 927744 sr0

    2530 17821696 dm-0

    2531 2097152 dm-1

    2532 26206208 dm-2

    我們前面講過,可以使用partx重讀分區(qū)表

    [root@localhost ~]# partx -a /dev/sdc

    partx: /dev/sdc: error adding partition 1

    [root@localhost ~]# partx -a /dev/sdc

    partx: /dev/sdc: error adding partitions1-2

    [root@localhost ~]# cat /proc/partitions

    major minor#blocks name

    8 0 20971520 sda

    8 1 1048576 sda1

    8 2 19921920 sda2

    8 16 20971520 sdb

    8 32 20971520 sdc

    8 33 5242880 sdc1

    8 34 5242880 sdc2

    11 0 927744 sr0

    2530 17821696 dm-0

    2531 2097152 dm-1

    2532 26206208 dm-2

    [root@localhost ~]#

    此時內(nèi)核成功識別分區(qū),

    創(chuàng)建PV并擴展VG

    [root@localhost ~]# pvcreate /dev/sdc2

    Physical volume "/dev/sdc2" successfully created.

    [root@localhost ~]# man vgextend

    [root@localhost ~]# vgextend /dev/vgpool1 /dev/sdc2

    Volume group "vgpool1" successfully extended

    此時查看VG信息則可以發(fā)現(xiàn),VG大小擴展至29.99GB(實際可能略有不足,7677*4M約為29.988G),已經(jīng)分配(Alloc PE)了24.99G,剩余(free PE)約5G(1279*4M)

    [root@localhost ~]# vgdisplay /dev/vgpool1

    —Volume group —

    VGName vgpool1

    System ID

    Format lvm2

    Metadata Areas 3

    Metadata Sequence No 4

    VGAccess read/write

    VGStatus resizable

    MAXLV 0

    CurLV 1

    Open LV 1

    MaxPV 0

    CurPV 3

    ActPV 3

    VGSize <29.99 GiB

    PESize 4.00 MiB

    Total PE 7677

    Alloc PE / Size 6398 / 24.99GiB

    Free PE / Size 1279 / <5.00 GiB

    VGUUIDyTpx8x-z3ic-JWY2-BPTv-T5rg-NIKr-sz4LeY

    此時VG已經(jīng)擴展成功,再按需創(chuàng)建或者擴展LV即可,在此不再贅述。

    3、LVM快照

    快照是對數(shù)據(jù)備份的一種方式,是從邏輯/軟件層面對數(shù)據(jù)的一種保護。

    快照的建立必須快速,實時、準確地記錄當前狀態(tài)。(如果快照進行十分緩慢的話,快照前后的數(shù)據(jù)很容易產(chǎn)生不一致的現(xiàn)象,你可以想象:拍照片一瞬間就能記錄你當前的樣子,如果照片生成的特別慢,你可能最后得到的是嬰兒時期的頭部,少年時期的身體,老年時期的腿)。

    由于實時、快速的要求,LVM的快照機制是這樣的:

    劃出一塊沒有用的區(qū)域(這個過程速度很快)。劃分完畢之后,只記錄LV上發(fā)生變化的數(shù)據(jù),沒有發(fā)生變化的數(shù)據(jù)不記錄。因此,創(chuàng)建快照很快(創(chuàng)建之初大小為0),隨著數(shù)據(jù)變化增多,快照慢慢變大。

    我們接下來創(chuàng)建一個快照,并嘗試用該快照恢復文件。

    首先,我們在LV上創(chuàng)建10個文件模擬已有的環(huán)境:

    [root@localhost ~]# cd /mnt/lvmpool0_mount/

    [root@localhost lvmpool0_mount]# for i in{1..10};do touch file_$i ;done

    [root@localhost lvmpool0_mount]# ls

    file_1file_10 file_2 file_3file_4 file_5 file_6file_7 file_8 file_9

    [root@localhost lvmpool0_mount]#

    給lvol0這個邏輯卷創(chuàng)建快照,快照最大為1G,如下所示(-L選項指定大小,-s表示創(chuàng)建快照,-n指定名字為snap_lv0,這些選項含義從man手冊中都能找到):

    [root@localhost lvmpool0_mount]# lvcreate -L 1G -s -n snap_lv0 /dev/vgpool1/lvol0

    Logical volume "snap_lv0" created.

    [root@localhost lvmpool0_mount]#

    可以看到設備文件已經(jīng)生成了。

    [root@localhost lvmpool0_mount]# ls /dev/vgpool1/

    lvol0snap_lv0

    現(xiàn)在我們將這些文件全部刪除

    [root@localhost lvmpool0_mount]# ls

    file_1file_10 file_2 file_3file_4 file_5 file_6file_7 file_8 file_9

    [root@localhost lvmpool0_mount]# rm -f file_*

    [root@localhost lvmpool0_mount]# ls

    [root@localhost lvmpool0_mount]#

    我們將快照文件掛載到某一目錄,該快照可以將LV之前的文件系統(tǒng)還原出來:

    [root@localhost mnt]# mount /dev/vgpool1/snap_lv0 /mnt/snap_point/

    mount: wrong fs type, bad option, badsuperblock on /dev/mapper/vgpool1-snap_lv0,

    missing codepage or helper program, orother error

    In some cases useful info is found in syslog – try

    dmesg | tail or so.

    報錯了。查看dmesg發(fā)現(xiàn),掛載的過程中產(chǎn)生了UUID(一種設備標識)沖突。我們之前創(chuàng)建的LV使用的是xfs的文件系統(tǒng),該文件系統(tǒng)默認不允許同時掛載兩個相同的UUID的塊設備。而快照后快照設備的UUID與LV是相同的。因此mount時要用特殊選項-o nouuid去規(guī)避:

    [root@localhost dev]# blkid /dev/vgpool1/lvol0

    /dev/vgpool1/lvol0:UUID="47f14142-866e-4c3c-86d8-84b8c9f4c3de" TYPE="xfs"

    [root@localhost dev]# blkid/dev/vgpool1/snap_lv0

    /dev/vgpool1/snap_lv0: UUID="47f14142-866e-4c3c-86d8-84b8c9f4c3de"TYPE="xfs"

    [root@localhost dev]#

    [root@localhost dev]# mount -o nouuid /dev/vgpool1/snap_lv0 /mnt/snap_point/

    [root@localhost dev]# cd /mnt/snap_point/

    [root@localhost snap_point]# ls

    file_1file_10 file_2 file_3file_4 file_5 file_6file_7 file_8 file_9

    [root@localhost snap_point]#

    看到了么,掛載快照后發(fā)現(xiàn),快照完好地重現(xiàn)了數(shù)據(jù)刪除前的場景,我們將這些文件拷貝回去即可。

    因此,lvm快照可以在很大程度上避免因為認為的誤操作(如誤刪、誤寫)導致的數(shù)據(jù)丟失。然而,如果是磁盤級別的故障導致的數(shù)據(jù)丟失,則快照毫無辦法。數(shù)據(jù)是企業(yè)的生命,因此衍生了大量的數(shù)據(jù)備份、冗余解決方案。更有專門的存儲設備廠商生產(chǎn)專門的存儲設備、提供相關(guān)的解決方案。這些東西暫時超出了目前介紹的范疇,大家了解即可。

    在主機級別上,也有著常見的解決方案—RAID。他可以在磁盤級別為我們提供數(shù)據(jù)安全(一塊或多塊盤壞了數(shù)據(jù)不丟失甚至業(yè)務不中斷)。下一節(jié)為大家簡單介紹RAID技術(shù)。

    關(guān)注本公眾號獲取最新更新

    每周一、三、五穩(wěn)定更新

    Linux入門解析

    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號