• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            旅途

            如果想飛得高,就該把地平線忘掉

            lvm的介紹和常用功能流程實驗

            1) 前言
            一直想寫一個簡單的lvm方面的文章,可以作個背忘,主要以流程和實例為主,希望文章能起到拋磚引玉的
            作用.
            LVM=(Logical Volume Mamager)邏輯卷管理器,LVM最先是用在IBM AIX系統上,它的最大作用是可以動態分
            配磁盤分區,并且可以讓多個分區或者物理硬盤作為一個邏輯卷(相當于一個邏輯硬盤).這種機制可以讓磁
            盤分區容量劃分變得很靈活.
            我們先舉個簡單例子.比如我們有一個硬盤/dev/hda,分了3個主分區:hda1,hda2,hda3,后面磁盤空間沒有
            劃分,分別對應的掛載點是/boot,/,/home,如果我們的/home空間不夠了,怎么辦?傳統的方法是在未劃分的
            空間中分割一個分區,掛載到/home下,并且把hda3的內容復制到這個新分區上.或者把這個新分區掛載到另
            外的掛載點上,然后在/home下創建鏈接,鏈接到這個新掛載點.
            這兩種方法都不大好,第一種方法浪費了hda3,并且如果后面的分區容量小于hda3怎么辦?第二種方法不大
            浪費容量,但是每次要額外創建鏈接,比較麻煩.那么,如果用lvm呢?lvm的好處在于,可以動態放大一個邏輯
            卷(相當于一個邏輯分區),也就是說,hda3如果是一個邏輯分區,比如/dev/rootvg/lv3,那么lv3可以被動態
            放大.這樣就解決了動態容量調整的問題.當然,前提是系統已設定好lvm支持,并且需要動態縮放的掛載點
            對應的設備是邏輯卷.
            在這里,我所有例子都是基于RHEL 4/CentOS 4.x和LVM2的。
            2) lvm組成和概念
            這里參考了IBM 林彥明(Alex Lin)的>)
            PV(Physical Volume) 物理卷。可以是單獨磁盤,也可以是硬盤分區
            VG(Volume Group) 卷組。是PV的組合,可以看成單獨的邏輯磁盤
            LV(Logical Volume) 邏輯分區。相當于物理分區的/dev/hdaX
            PE(Physical Extent) 物理范圍。VG單元,類似于RAID的條帶大小。
            當多個PV組成一個VG時,LVM會在所有PV上做類似格式化的動作,
            將每個PV切成一塊塊的空間,這一塊塊的空間就稱為PE, 通常是4MB。
            LE(Logical Extent) 邏輯范圍。LV的組成單位。大小為PE的倍數(通常為1:1)
            那么,最常用的3個名詞和意義列表如下:
            名詞 意義 操作系統對應設備
            PV 物理卷 /dev/hdaX
            VG 卷組 /dev/ (通常是個目錄)
            LV 邏輯卷 /dev//
            如果我們要使用lvm,順序是pv->vg->lv。
            就是說,我們先創建一個物理卷(對應一個物理硬盤分區或者一個物理硬盤),然后把這些分區/硬盤加入
            一個卷組中(相當于一個邏輯上的大硬盤),然后我們在這個大硬盤上劃分分區lv(邏輯上的分區,就是邏
            輯卷)
            這樣,我們把lv邏輯卷格式化以后,就可以像使用一個傳統分區那樣,把它掛載到一個掛載點上,需要的
            時候,這個邏輯卷可以被動態縮放。
            我們可以用一個長方蛋糕來說明這個對應關系。物理硬盤相當于一個長方蛋糕,我們把它切割成許多快,
            每個小塊相當于一個pv,然后我們把其中的某些pv重新放在一起,抹上奶油,那么這么些個pv的組合就是
            一個新的蛋糕,也就是vg。最后,我們切割這個新蛋糕vg,切出來的小蛋糕就叫做lv。
            有一點需要注意,就是/boot區不可以是lvm,因為引導程序lilo/grub并不能識別lvm,就像/boot同樣不
            可以是軟raid設備一樣。
            3) 如何使用lvm,創建邏輯卷的流程和實例
            好了,我們來創建一個lv。
            比如說,在一個物理硬盤/dev/hda上,我們需要將/dev/hda5,/dev/hda6作為pv
            1 fdisk劃分hda5,hda6,并且將這兩個分區的標志(鍵入t改)改為(0x)8e
            然后用partprobe通知OS磁盤分區的變化
            2 pvcreate /dev/hda5 /dev/hda6(-s xxM可設定PE大小)
            創建pv hda5,hda6
            3 vgcreate rootvg /dev/hda5 /dev/hda6
            將hda5,hda6加入邏輯卷組rootvg中
            4 lvcreate -L 100M -n lv1 rootvg
            從我們的rootvg中,創建一個100M的邏輯卷lv1
            5 mkfs.ext3 /dev/rootvg/lv1
            格式化我們的lv1,文件系統用ext3
            6 mkdir /mnt/lvm;mount /dev/rootvg/lv1 /mnt/lvm
            將lv1掛載到/mnt/lvm下
            好了,這樣一個創建lv的例子完成
            4) 如何動態放大/縮小一個邏輯卷/邏輯卷組
            我們如何放大lv?比如上面的lv1?流程:
            1 lvextend -L+200M /dev/rootvg/lv1
            將lv1增加200M
            2 ext2online /dev/rootvg/lv1
            讓lv1容量更改立即生效
            減小lv,網上很多文章介紹的是ReiserFS,這里我們是ext3文件系統,如果我們需要減少50M:
            1 umount /mnt/lvm
            這里,需要先卸載分區
            2 mke2fs -n /dev/rootvg/lv1
            計算lv1的block數
            這里一定要加-n參數,這是計算lv1的block數,而不是格式化分區,注意。
            并且注意,從MB->KB這些的計算,都是乘1024,不是1000,這是個細節問題
            3 計算減少50M后的block數。從mke2fs -n /dev/rootvg/lv1,我們可以得出2個需要的信息:
            Block size和blocks,這兩個數的乘積就是分區大小A(單位字節),
            我們把需要減小的容量50M換算成字節B,然后A-B的結果除以Block size,就是剩余的block數
            4 resize2fs -f /dev/rootvg/lv1 剩余的block數
            調整文件系統大小
            5 lvreduce -L-50M /dev/rootvg/lv1
            調整lv分區大小,減小50M
            6 重新mount,df察看一下容量的減小
            動態加大VG:
            這里我們新增一個PV并加入VG
            1 fdisk增加一個(0x)8e標志的分區/dev/hda7
            2 vgextend rootvg /dev/hda7
            好了,vg增大了
            縮小邏輯卷組VG:
            1 搬移PV中的資料(只限于同一VG中)
            #pvmove [-n ] []

            #pvmove /dev/hda5 /dev/hda6
            將VG中pv hda5的內容搬移到hda6中
            pvmove /dev/hda5(也可以這樣,lvm決定hda2的內容被復制到哪里)
            2 vgreduce rootvg /dev/hda5
            把vg hda5移除
            5) 如何刪除邏輯卷/邏輯卷組
            刪除VG流程:
            1 umount /掛接點
            2 lvremove /dev/rootvg/lv1
            移除邏輯卷,這里是lv1
            3 vgchange -a n rootvg(關閉rootvg)
            4 vgremove rootvg
            移除rootvg
            6) lvm相關命令
            這個表格,你可以在RHCE_Study_Guide.pdf上找到
            Physical Volume Volume Group Logical Volume
            scan pvscan vgscan lvscan
            create pvcreate vgcreate lvcreate
            display pvdispaly vgdisplay lvdisplay
            remove pvremove vgremove lvremove'

            posted on 2009-10-07 00:18 旅途 閱讀(180) 評論(0)  編輯 收藏 引用 所屬分類: LINUX基礎、管理

            久久亚洲国产精品成人AV秋霞| 成人a毛片久久免费播放| 亚洲国产婷婷香蕉久久久久久| 亚洲国产精品成人AV无码久久综合影院| 久久嫩草影院免费看夜色| 中文成人无码精品久久久不卡 | 欧美日韩中文字幕久久伊人| 狠狠综合久久综合中文88| 久久婷婷色香五月综合激情| 精品蜜臀久久久久99网站| 无码任你躁久久久久久久| 中文字幕乱码久久午夜| 国产精品永久久久久久久久久| 无码国内精品久久人妻| 久久精品国产亚洲AV不卡| 欧美va久久久噜噜噜久久| 精品久久综合1区2区3区激情 | 色综合久久久久综合99| 国产午夜免费高清久久影院| 亚洲精品国产综合久久一线| 国产精品久久久天天影视| 午夜精品久久久内射近拍高清| 日本精品久久久中文字幕| 亚洲精品国产字幕久久不卡| 久久嫩草影院免费看夜色| 亚洲天堂久久精品| 国产午夜精品久久久久免费视| 久久久www免费人成精品| 久久久久国产视频电影| 四虎国产永久免费久久| 色综合久久久久无码专区 | 亚洲国产精品无码久久SM| 天堂无码久久综合东京热| 99久久精品免费看国产一区二区三区 | 久久棈精品久久久久久噜噜| 国产99久久久国产精品小说| 香蕉久久久久久狠狠色| 精品久久久无码人妻中文字幕| 国产精品久久新婚兰兰 | 精品一区二区久久| 国产精品久久久福利|