国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
通用線程:學習 Linux LVM,第 2部分

我前一篇 LVM 文章 中,我解釋了 LVM 背后的概念。現(xiàn)在該是發(fā)揮 LVM 作用的時候了。在本文中,我將在官方 Gentoo Linux web/cvs/email 服務器 -- cvs.gentoo.org -- 上設置 LVM。盡管 cvs.gentoo.org 只有一個硬盤,但靈活性很強的 LVM 仍然令人難以置信地提供了比標準靜態(tài)分區(qū)方法好得多的改進。我將為您介紹 LVM 轉換過程的的所有步驟,這樣,如果您有興趣,可以在自己的機器上執(zhí)行類似的轉換。

在開始之前有一個告誡。因為實現(xiàn) LVM 是對系統(tǒng)進行的一項重要的變動(包括創(chuàng)建新分區(qū)和其它一些潛在的冒險操作),所以在開始這一過程之前備份整個系統(tǒng) 不失為 一個好主意。如果您不想進行備份,我希望您能使用一臺沒有什么重要數(shù)據(jù)的測試機器 :) 應該說我在轉換到 LVM 時并沒有遇到任何問題,但最好做好準備以防萬一。

那么,讓我們繼續(xù)。在開始轉換過程之前,我對 cvs.gentoo.org 進行了升級,讓它使用下列軟件包。在我執(zhí)行 LVM 轉換的時候,這些是當時的最新版本(請參閱本文稍后部分的 參考資料):

  • Linux 內(nèi)核 2.4.1-ac19
  • LVM 0.9.1_beta5
  • reiserfs-utils 3.6.25

現(xiàn)在輪到硬盤驅動器了。cvs.gentoo.org 有一個不錯的新的 IBM 45 GB 硬盤驅動器;不過,當我在 cvs 上安裝 Gentoo Linux 時,我只對驅動器中的 10 GB 進行了分區(qū),而將余下的 35 GB 留作“將來的分區(qū)”使用。這些是在不使用 LVM 時耍的一點小計謀 -- 將部分驅動器保留不分區(qū)是一種為今后的擴充作準備的簡單但有效的方式。不過,如果使用 LVM,會有更好的方法。

空間問題

在過去的幾個星期中,我注意到我的根 ReiserFS 分區(qū)在被緩慢地填滿,這可以從下面的 "df" 輸出中看出:

Filesystem           1k-blocks      Used Available Use% Mounted on/dev/hda3              9765200   6989312   2775888  72% /tmpfs                   269052         0    269052   0% /dev/shm

現(xiàn)在,72% 被占滿的根分區(qū)并不構成什么危機,但也決不是一種良好的狀況。ReiserFS 和許多其它文件系統(tǒng)一樣,隨著它越來越滿而開始逐漸減慢速度,在根文件系統(tǒng)被完全填滿、文件系統(tǒng)的性能遭到重創(chuàng)之前,這只是時間問題。

我決定在硬盤驅動器的結尾處使用 LVM,從 35 GB 的當前未分區(qū)空間中創(chuàng)建新邏輯卷來解決這一問題。然后,我會在這個卷上創(chuàng)建一個文件系統(tǒng),并將 /dev/hda3 的大部分內(nèi)容轉移到其中。

如果您考慮在自己的機器上進行類似的轉換,首先需要做的就是在根文件系統(tǒng)上找一個合適的部分轉移到邏輯卷上。對我來說,選擇很容易 -- 我的 /home 樹占用了大約 5.7 GB。通過將 /home 轉移到它自己的 LVM 邏輯卷,我的根文件系統(tǒng)處于大約 20% 容量的位置。因為大多數(shù)新數(shù)據(jù)被添加到 /home,所以我的根文件系統(tǒng)很可能也停留在大約 20% 容量的位置 -- 一種非常健康的狀態(tài)。


解決方案的開始

在開始轉換之前,首先在硬盤驅動器的結尾處對未使用的空間進行分區(qū)。我使用 cfdisk 創(chuàng)建了一個 35 GB 的分區(qū) (/dev/hda5),然后將分區(qū)的分區(qū)類型設置成 "8E"(正規(guī) LVM 分區(qū)類型)。在這一更改后,我進行了重新引導以強制重新讀取分區(qū)表。在重新引導后,我的分區(qū)表如下:

# sfdisk -lDisk /dev/hda: 89355 cylinders, 16 heads, 63 sectors/trackUnits = cylinders of 516096 bytes, blocks of 1024 bytes, counting from 0   Device Boot Start     End   #cyls   #blocks   Id  System/dev/hda1   *      0+    247     248-   124960+  83  Linux/dev/hda2        248     743     496    249984   82  Linux swap/dev/hda3        744   20119   19376   9765504   83  Linux/dev/hda4      20120   89354   69235  34894440    5  Extended/dev/hda5      20120+  89354   69235- 34894408+  8e  Linux LVM

既然有了空的 35 GB 的分區(qū),我就準備為 LVM 初始化它。以下是過程 -- 首先,我將 35 GB 初始化成 物理卷;然后,使用這個物理卷創(chuàng)建一個 卷組 ,最后,在卷組上分配一些范圍,創(chuàng)建將包含新文件系統(tǒng)并存放當前 /home 中所有文件的 邏輯卷

為開始這個過程,我使用 pvcreate 命令將 /dev/hda5 初始化成物理卷:

# pvcreate /dev/hda5pvcreate -- physical volume "/dev/hda5" successfully created

pvcreate 在 /dev/hda5 上設置一個特殊的“記帳”區(qū)域,稱作 VGDA(“卷組描述符區(qū)域”)。LVM 使用該區(qū)域來記錄物理范圍是如何分配的,以及其它一些操作。

下一步是創(chuàng)建卷組并向該卷組添加 /dev/hda5。卷組將充當范圍池(許多存儲塊)。創(chuàng)建卷組之后,創(chuàng)建所需數(shù)量的邏輯卷。我決定將卷組稱為 "main":

# vgcreate main /dev/hda5vgcreate -- INFO: using default physical extent size 4 MBvgcreate -- INFO: maximum logical volume size is 255.99 Gigabytevgcreate -- doing automatic backup of volume group "main"vgcreate -- volume group "main" successfully created and activated   

vgcreate 命令執(zhí)行幾個操作。除了創(chuàng)建 "main" 卷組以外,它還設置 /dev/hda5,使它使用 4 MB 的范圍,4 GB 是缺省范圍大小。這意味著在卷組上創(chuàng)建的所有邏輯卷都可以以 4 MB 為增量單位來進行擴充或縮減。

由于內(nèi)核限制的原因,范圍大小決定了邏輯卷的最大大小。您可以從上面的輸出中看出,4 MB 的范圍大小決定了邏輯卷大小限制為 256 GB,如果您向卷組添加幾個高容量驅動器,這是很容易達到的邏輯卷組大小。如果每一個卷最后都大于 256 GB,我建議您在運行 vgcreate 時指定更大一些的范圍大小。范圍的大小可以是從 8 KB 到 512 MB 之間的任何值,并且必須總是 2 的倍數(shù)。通過將范圍大小增加到 4 MB 以上,最大的物理卷大小將相應地增加到最大為 1 Petabyte(盡管當今現(xiàn)實世界中,x86 系統(tǒng)上的大小限制是 2 Terabytes)。例如,如果希望使用 32 MB 的范圍創(chuàng)建卷組,我會輸入:

# vgcreate -s 32M main /dev/hda5

32 MB 是個合適的范圍大小,因為 32 MB 的顆粒度仍然便于管理,并將引導的最大邏輯卷大小增加到 2 TB。創(chuàng)建卷組之后,可以通過輸入 "vgdisplay" 來查看其信息:

# vgdisplay--- Volume group ---VG Name               mainVG Access             read/writeVG Status             available/resizableVG #                  0MAX LV                256Cur LV                0Open LV               0MAX LV Size           255.99 GBMax PV                256Cur PV                1Act PV                1VG Size               33.28 GBPE Size               4 MBTotal PE              8519Alloc PE / Size       0 / 0Free  PE / Size       8519 / 33.28 GBVG UUID               2qC2H2-iA8s-qW6F-cwXx-JVIh-I6VC-VVCGmn

既然有了自己的卷組,我準備創(chuàng)建邏輯卷。我決定在最初時將它的大小設置為 8 GB,并稱它作 "lv_home":

# lvcreate -L8G -nlv_home mainlvcreate -- doing automatic backup of "main"lvcreate -- logical volume "/dev/main/lv_home" successfully created 

然后,在邏輯卷上創(chuàng)建文件系統(tǒng):

# mkreiserfs /dev/main/lv_home     <----------- MKREISERFSv2 ----------->      Block size 4096 bytes   Block count 2097152   Used blocks 8275           Journal - 8192 blocks (18-8209), journal header is in block 8210                   Bitmaps: 17, 32768, 65536, 98304, 131072, 163840,                    196608, 229376, 262144, 294912, 327680, 360448,                    393216, 425984, 458752, 491520, 524288, 557056,                    589824, 622592, 655360, 688128, 720896, 753664,                   786432, 819200, 851968, 884736, 917504, 950272,                   983040, 1015808, 1048576, 1081344, 1114112,                   1146880, 1179648, 1212416, 1245184, 1277952,                   1310720, 1343488, 1376256, 1409024, 1441792,                   1474560, 1507328, 1540096, 1572864, 1605632,                   1638400, 1671168, 1703936, 1736704, 1769472,                   1802240, 1835008, 1867776, 1900544, 1933312,                   1966080, 1998848, 2031616, 2064384    Root block 8211Hash function "r5"ATTENTION: ALL DATA WILL BE LOST ON '/dev/main/lv_home'! (y/n)yjournal size 8192 (from 18)Initializing journal - 0%....20%....40%....60%....80%....100%Syncing..done.

既然創(chuàng)建了文件系統(tǒng),我就可以在 /mnt/newhome 上安裝它:

# mkdir /mnt/newhome# mount /dev/main/lv_home /mnt/newhome# dfFilesystem           1k-blocks      Used Available Use% Mounted on/dev/hda3              9765200   6989840   2775360  72% /tmpfs                   291388         0    291388   0% /dev/shm/dev/main/lv_home      8388348     32840   8355508   1% /mnt/newhome

您可以從上面看出,我?guī)缀鯗蕚鋸椭?/home 中的所有數(shù)據(jù)。在開始之前,我把系統(tǒng)降低到運行級別 1 以確保在復制 /home 中的文件時,沒有用戶或進程能夠訪問或修改它們:

# init 1

然后,開始復制文件:

# cp -avx /home/* /mnt/newhome

復制操作需要大約 10 分鐘的時間完成。然后,我將原始 /home 備份成 /home.old,這只是為在復制過程中有任何錯誤而準備的。創(chuàng)建一個新的安裝點,然后在 /home 上重新安裝新 home:

# cd /# mv home home.old# mkdir home# umount /mnt/newhome# mount /dev/main/lv_home /home

然后,應該設置服務器以使我的新 /home 分區(qū)可以在每次啟動機器時使用。首先修改 /etc/fstab 以使它包括新的 /home 項:

# /etc/fstab: static file system information.## fs                mountpoint       type         opts          dump/pass/dev/hda3           /                reiserfs     defaults      1 1/dev/main/lv_home   /home            reiserfs     defaults      2 2/dev/hda2           none             swap         sw            0 0/dev/hda1           /boot            reiserfs     noauto        0 0/dev/cdrom          /mnt/cdrom       iso9660      noauto,ro     0 0proc                /proc            proc         defaults      0 0none                /dev/pts         devpts       mode=620      0 0tmpfs               /dev/shm         tmpfs        defaults      0 0

然后,我對初始化腳本進行了一些小小改動。我修改了 "checkroot" 啟動腳本,使以下命令可以在根分區(qū)重新安裝讀/寫后立即運行:

/sbin/vgscan/sbin/vgchange -a y

接下來,我修改了在關機時運行的文件系統(tǒng)卸裝腳本,使以下命令在卸裝了所有文件系統(tǒng) 立即運行:

/sbin/vgchange -a n

完成了這些步驟后,我重新引導了機器,讓我高興的是一切都工作正常。在接下去的一天左右的時間里完全沒有問題,隨后我刪除了 /home.old 以釋放根文件系統(tǒng)上的一些空間。太棒了!到 LVM 的轉換成功了。


LVM 的優(yōu)點

雖然到 LVM 的轉換有些痛苦,但一旦轉換完成之后,管理文件系統(tǒng)就變得非常簡單。例如,我決定重新調(diào)整新的 /home 邏輯卷大小,向文件系統(tǒng)結尾添加大約 2 GB 的空間。首先,我向 "lv_home" 邏輯卷添加了額外的容量,然后使用 resize_reiserfs 實用程序來擴充文件系統(tǒng),使它可以使用額外的容量。以下是執(zhí)行所有這些操作的兩個命令:

# lvextend -L+2G /dev/main/lv_home# resize_reiserfs -f /dev/main/lv_home

在大約一秒鐘的時間里,我將 /home 文件系統(tǒng)擴大了 2 GB;令人驚奇的是,我不需要重新引導、降低到運行級別 1,甚至不需要卸裝 /home 來執(zhí)行大小調(diào)整。一切都照常工作。是不是很了不起?下面是我的文件系統(tǒng)的當前狀態(tài):

# dfFilesystem           1k-blocks      Used Available Use% Mounted on/dev/hda3              9765200   1413340   8351860  15% //dev/main/lv_home     10485436   5609836   4875600  54% /home

您可以看出 LVM 的確可以讓管理員的工作輕松許多。我希望在今后能將根文件系統(tǒng)的其它部分轉移到 LVM,最終甚至將我的根文件系統(tǒng)轉換成 LVM 邏輯卷。下面的參考資料可以幫助您了解有關 LVM 的更多知識。


參考資料

  • 您可以參閱本文在 developerWorks 全球站點上的 英文原文.

  • 有關 LVM 的概念和如何在系統(tǒng)上安裝最新的內(nèi)核補丁和工具的建議,請參閱 developerWorks上 Daniel 的前一篇文章, 學習 LVM,第 1 部分

  • 從 Sistina Software 下載 LVM tar 文件。

  • 現(xiàn)在 Sistina 有一個非常棒的 LVM HOWTO (它與簡單的 HOWTO 相比,更接近于一個完整描述的手冊)。

  • 請務必仔細查看 Linux LVM FAQ。

  • 等不及的讀者可以查看 Heinz Mauelshagen 的 LVM 快速入門,它包含了有關如何設置卷組和邏輯卷的更多示例。

  • 另外還有一個有意思的 HOWTO,告訴您 如何在邏輯卷上設置根文件系統(tǒng) 。LVM-0.9.1_final 問世后,我會嘗試執(zhí)行這一操作。

  • Andreas Dilger 參與了 Linux LVM 項目,他有一個看上去不錯的 聯(lián)機。

  • ReiserFS 是一種非常好的文件系統(tǒng)(特別在與 LVM 結合使用時)。如果使用的是 ReiserFS,需要獲取 reiserfs-utils tar 文件,它包含了一個稱為 "reiserfs_resize" 的程序 -- 允許對 ReiserFS 文件系統(tǒng)聯(lián)機調(diào)整大小。

  • 有關設置 Linux 軟件 RAID 卷的詳細信息,請參閱 Daniel 在 developerWorks上有關軟件 RAID 系列的 第 1 部分第 2 部分

  • 對于復習進修者,請參閱 developerWorks Linux 內(nèi)核編譯教程

關于作者

Daniel Bobbins 居住在美國新墨西哥州的阿爾布開克,他是 Gentoo Technologies, Inc. 的總裁兼 CEO、 Gentoo Linux (一種用于 PC 的高級 Linux)和 Portage 系統(tǒng)(用于 Linux 的下一代移植系統(tǒng))的主創(chuàng)人。他還是幾本 Macmillan 出版的書籍 Caldera OpenLinux UnleashedSuSE Linux UnleashedSamba Unleashed 的投稿人。Daniel 自二年級起就與計算機結下不解之緣,那時他首先接觸的是 Logo 程序語言,并沉溺于 Pac-Man 游戲中。這也許就是他至今仍擔任 SONY Electronic Publishing/Psygnosis 的首席圖形設計師的原因所在。Daniel 喜歡與妻子 Mary 和新出生的女兒 Hadassah 一起共度時光??赏ㄟ^ drobbins@gentoo.org 與 Daniel 聯(lián)系。 

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Linux邏輯盤卷管理LVM詳解 - ELM\‘s Blog
Linux下的VG
LVM (Logical Volume Manager) 詳細講解 - Linux高級應用...
LVM邏輯卷管理一PV/VG/LV的創(chuàng)建
linux mkfs命令參數(shù)及用法詳解
linux fstab 自動掛載分區(qū)(轉)
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服