• <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>

            旅途

            如果想飛得高,就該把地平線(xiàn)忘掉

            Linux LVM

            原創(chuàng)  Linux LVM 收藏

            對(duì) 于Linux用戶(hù)而言,在安裝一臺(tái)Linux機(jī)器的時(shí)候,遇到的問(wèn)題之一就是給各分區(qū)估計(jì)和分派足夠的硬盤(pán)空間。無(wú)論對(duì)一個(gè)正在為服務(wù)器尋找空間的系統(tǒng)管 理員,還是一個(gè)磁盤(pán)即將用盡的普通用戶(hù)來(lái)說(shuō),這都是一個(gè)非常常見(jiàn)的問(wèn)題。解決的方法通常是使用符號(hào)鏈接,或者一些調(diào)整分區(qū)大小的工具(比如 parted)。但是,這只是一個(gè)暫時(shí)性的解決辦法,不久,我們又會(huì)面臨同樣的問(wèn)題。

              如果你是一個(gè)站點(diǎn)的系統(tǒng)管理員,管理著數(shù)量眾多的、連接在Internet之上的服務(wù)器,那么你每關(guān)機(jī)一分鐘,都會(huì)給公司帶來(lái)很大損失。此外,使用這種方法,在修改了分區(qū)表之后,每一次都得重新啟動(dòng)系統(tǒng)。LVM(邏輯卷管理程序)可以幫助我們解決這些問(wèn)題。

            LVM簡(jiǎn)介

              Linux LVM可以使管理工作更加輕松。相對(duì)于硬盤(pán)和分區(qū),LVM是從更高的層次來(lái)看待存儲(chǔ)空間的。在使用LVM之前,先來(lái)看一些將要使用到的相關(guān)概念。

            物理卷

              物理卷是指硬盤(pán)分區(qū)或者從邏輯上看起來(lái)和硬盤(pán)分區(qū)類(lèi)似的設(shè)備(比如RAID設(shè)備)。

            邏輯卷

              一個(gè)或者多個(gè)物理卷組成一個(gè)邏輯卷。對(duì)于LVM而言,邏輯卷類(lèi)似于非LVM系統(tǒng)中的硬盤(pán)分區(qū)。邏輯卷可以包含一個(gè)文件系統(tǒng)(比如/home或者/usr)。

            卷組

              一個(gè)或者多個(gè)邏輯卷組成一個(gè)卷組。對(duì)于LVM而言,卷組類(lèi)似于非LVM系統(tǒng)中的物理硬盤(pán)。卷組把多個(gè)邏輯卷組合在一起,形成一個(gè)可管理的單元。


            LVM工作方式

              下面來(lái)看一看LVM到底是怎樣工作的。每一個(gè)物理卷都被分成幾個(gè)基本單元,即所謂的PE(Physical Extents)。PE的大小是可變的,但是必須和其所屬卷組的物理卷相同。在每一個(gè)物理卷里,每一個(gè)PE都有一個(gè)惟一的編號(hào)。PE是一個(gè)物理存儲(chǔ)里可以 被LVM尋址的最小單元。

              每一個(gè)邏輯卷也被分成一些可被尋址的基本單位,即所謂的LE(Logical Extents)。在同一個(gè)卷組中,LE的大小和PE是相同的,很顯然,LE的大小對(duì)于一個(gè)卷組中的所有邏輯卷來(lái)說(shuō)都是相同的。

              在一個(gè)物理卷中,每一個(gè)PE都有一個(gè)惟一的編號(hào),但是對(duì)于邏輯卷這并不一定是必需的。這是因?yàn)楫?dāng)這些PE ID號(hào)不能使用時(shí),邏輯卷可以由一些物理卷組成。因此,LE ID號(hào)是用于識(shí)別LE以及與之相關(guān)的特定PE的。正如前面所提到的,LE和PE之間是一一對(duì)應(yīng)的。每一次存儲(chǔ)區(qū)域被尋址訪(fǎng)問(wèn)或者LE的ID被使用,都會(huì)把 數(shù)據(jù)寫(xiě)在物理存儲(chǔ)設(shè)備之上。

              你可能會(huì)覺(jué)得奇怪,有關(guān)邏輯卷和邏輯卷組的所有元數(shù)據(jù)都存到哪兒去了。類(lèi)似的在非LVM系統(tǒng)中,有關(guān)分區(qū)的數(shù)據(jù)是存儲(chǔ)在分區(qū)表中,而分區(qū)表被存儲(chǔ)在了每一個(gè)物理卷的起始位置。VGDA(卷組描述符區(qū)域)功能就好象是LVM的分區(qū)表,它存儲(chǔ)在每一個(gè)物理卷的起始處。

              VGDA由以下信息組成:

              ◆ 一個(gè)PV描述符
              ◆ 一個(gè)VG描述符
              ◆ LV描述符
              ◆ 一些PE描述符

              當(dāng)系統(tǒng)啟動(dòng)LV時(shí),VG被激活,并且VGDA被加載至內(nèi)存。VGDA幫助識(shí)別LV的實(shí)際存儲(chǔ)位置。當(dāng)系統(tǒng)想要訪(fǎng)問(wèn)存儲(chǔ)設(shè)備時(shí),由VGDA建立起來(lái)的映射機(jī)制就用于訪(fǎng)問(wèn)實(shí)際的物理位置來(lái)執(zhí)行I/O操作。

            開(kāi)始工作

              下面具體看一看如何使用LVM。

              第一步:配置內(nèi)核。在安裝LVM之前,內(nèi)核之中應(yīng)該有LVM模塊,可以使用以下的步驟來(lái)完成:


              #cd /usr/src/linux
              #make menuconfig

             

              選擇Multi-device Support (RAID and LVM)子菜單,選中以下兩個(gè)選項(xiàng):


              [*] Multiple devices driver support (RAID and LVM)
              <*> Logical volume manager (LVM) Support.

             

              第二步:檢查驅(qū)動(dòng)器上空閑硬盤(pán)空間的總量。這可以通過(guò)以下命令來(lái)未完成:


              # df -h
              Filesystem Size Used Avail Use% Mounted on
              /dev/hda1 3.1G 2.7G 398M 87% /
              /dev/hda2 4.0G 3.2G 806M 80% /home
              /dev/hda5 2.1G 1.0G 1.1G 48% /var

             

              第三步:在硬盤(pán)上創(chuàng)建一個(gè)LVM分區(qū)。使用fdisk或者其它的分區(qū)工具來(lái)創(chuàng)建一個(gè)LVM分區(qū)。Linux LVM的分區(qū)類(lèi)型為8e。


              # fdisk /dev/hda
              press p (to print the partition table) and n (to create a new partition)

             

              第四步:創(chuàng)建一個(gè)物理卷。下述命令將在分區(qū)的起始處創(chuàng)建一個(gè)卷組描述符:


              # pvcreate /dev/hda6
              pvcreate -- -physical volume "/dev/hda6" successfully created
              # pvcreate /dev/hda7
              pvcreate- -- physical volume "/dev/hda7" successfully created

             

              第五步:創(chuàng)建一個(gè)卷組。通過(guò)下面的方法創(chuàng)建一個(gè)新的卷組,并且添加兩個(gè)物理卷:


              # vgcreate test_lvm /dev/hda6 /dev/hda7
              vgcreate- -- INFO: using default physical extent size 4 MB
              vgcreate- -- INFO: maximum logical volume size is 255.99 Gigabyte
              vgcreate- -- doing automatic backup of volume group "test_lvm"
              vgcreate- -- volume group "test_lvm" successfully created and activated

             

              上述命令將創(chuàng)建一個(gè)名為test_lvm,包含有/dev/hda6和/dev/hda7兩個(gè)物理卷的卷組。使用下面命令來(lái)激活卷組:


              # vgchange -ay test_lvm

             

              使用“vgdisplay”命令來(lái)查看所建立卷組的細(xì)節(jié)信息。


              # vgdisplay
              --- Volume group ---
              VG Name test_lvm
              VG Access read/write
              VG Status available/resizable
              VG # 0
              MAX LV 256
              Cur LV 1
              Open LV 0
              MAX LV Size 255.99 GB
              Max PV 256
              Cur PV 2
              Act PV 2
              VG Size 3.91 GB
              PE Size 4 MB
              Total PE 1000
              Alloc PE / Size 256 / 1 GB
              Free PE / Size 744 / 2.91 GB
              VG UUID T34zIt-HDPs-uo6r-cBDT-UjEq-EEPB-GF435E

             

              第六步:創(chuàng)建一個(gè)邏輯卷。使用lvcreate命令在卷組中創(chuàng)建一個(gè)邏輯卷:


              # lvcreate -L2G -nlogvol1 test_lvm

             

              第七步:創(chuàng)建文件系統(tǒng)。在該邏輯卷上選擇使用reiserfs日志文件系統(tǒng):


              # mkreiserfs /dev/test_lvm/logvol1

             

              使用mount命令來(lái)加載新創(chuàng)建的文件系統(tǒng)。


              # mount -t reiserfs /dev/test_lvm/logvol1 /mnt/lv1

             

              第八步:在/etc/fstab和/etc/lilo.conf中添加一個(gè)入口。在/etc/fstab中加入以下入口,在啟動(dòng)時(shí)加載文件系統(tǒng):


              /dev/test_lvm/logvol1 /mnt/lv1 reiserfs defaults 1 1

             

              如果沒(méi)有覆蓋原來(lái)的內(nèi)核,那么拷貝一份重新編譯后的內(nèi)核,并且在啟動(dòng)時(shí)選擇是否使用LVM。下面是LILO文件的內(nèi)容:


              image = /boot/lvm_kernel_image
              label = linux-lvm
              root = /dev/hda1
              initrd = /boot/init_image
              ramdisk = 8192

             

              添加以上內(nèi)容后,使用以下命令重新加載LILO:


              #/sbin/lilo

             

              第九步:修改邏輯卷的大小。可以使用lvextend命令方便地修改邏輯卷的大小,增加邏輯卷大小的方法如下:


              # lvextend -L+1G /dev/test_lvm/logvol1
              lvextend -- extending logical volume "/dev/test_lvm/logvol1" to 3GB
              lvextend -- doing automatic backup of volume group "test_lvm"
              lvextend -- logical volume "/dev/test_lvm/logvol1" successfully extended


              
              類(lèi)似的,減小邏輯卷大小的方法如下:


              # lvreduce -L-1G /dev/test_lvm/lv1
              lvreduce -- -Warning: reducing active logical volume to 2GB
              lvreduce- -- This may destroy your data (filesystem etc.)
              lvreduce -- -do you really want to reduce "/dev/test_lvm/lv1"? [y/n]: y
              lvreduce- -- doing automatic backup of volume group "test_lvm"
              lvreduce- -- logical volume "/dev/test_lvm/lv1" successfully reduced

            posted on 2009-10-14 23:24 旅途 閱讀(736) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): LINUX基礎(chǔ)、管理

            国产真实乱对白精彩久久| 久久久久亚洲精品天堂| 区亚洲欧美一级久久精品亚洲精品成人网久久久久 | 国产成人久久久精品二区三区| 欧美亚洲另类久久综合| 天堂无码久久综合东京热| 久久99国产综合精品| 久久国产精品二国产精品| 久久精品中文无码资源站| 波多野结衣中文字幕久久| 亚洲欧美另类日本久久国产真实乱对白| 久久久久精品国产亚洲AV无码| 久久国产精品成人免费| 狠狠色噜噜色狠狠狠综合久久| 热99re久久国超精品首页| 亚洲精品无码久久久久| 99久久精品免费| 久久久国产乱子伦精品作者| 色8激情欧美成人久久综合电| 99久久99这里只有免费的精品| 区亚洲欧美一级久久精品亚洲精品成人网久久久久 | 国产Av激情久久无码天堂| 国产精品久久久久久久人人看| 嫩草影院久久国产精品| 久久国产精品无码一区二区三区| 色欲久久久天天天综合网精品| 久久久99精品成人片中文字幕 | 人人狠狠综合久久88成人| 99久久国产热无码精品免费久久久久| 国产偷久久久精品专区| 日韩亚洲国产综合久久久| 久久996热精品xxxx| 国产精品久久久久久久久| 丰满少妇人妻久久久久久| 精品久久久久久无码专区| 亚洲精品乱码久久久久66| 狠狠精品久久久无码中文字幕 | 亚洲精品无码久久久久| 久久久亚洲AV波多野结衣 | 久久人人妻人人爽人人爽| 一本一道久久综合狠狠老|