<span id="spc7x"></span>

    <th id="spc7x"></th>

    <li id="spc7x"><object id="spc7x"></object></li>
  1. <rp id="spc7x"></rp>
      <th id="spc7x"><pre id="spc7x"></pre></th>

      <button id="spc7x"><acronym id="spc7x"></acronym></button>

      首頁 > 系統 > Linux > 正文

      Linux LV邏輯卷(創建、查看、調整大小及刪除)詳解

      2021-12-24 13:36:56
      字體:
      來源:轉載
      供稿:網友
      本節講解如何將卷組劃分為邏輯卷,我們可以把邏輯卷想象成分區,那么這個邏輯卷當然也需要被格式化和掛載。另外,邏輯卷也是可以動態調整大小的,而且數據不會丟失,也不用卸載邏輯卷。

      建立邏輯卷

      我們現在已經建立了 3GB 大小的卷組 scvg,接下來需要在卷組中建立邏輯卷。命令格式如下:

      [root@localhost ~]# lvcreate [選項] [-n 邏輯卷名] 卷組名

      選項:
      • -L 容量:指定邏輯卷大小,單位為 MB、GB、TB 等;
      • -l 個數:按照 PE 個數指定邏輯卷大小,這個參數需要換算容量,太麻煩;
      • -n 邏輯卷名:指定邏輯卷名;

      我們建立一個 1.5GB 大小的 lamplv 邏輯卷,命令如下:

      [root@localhost ~]# lvcreate -L 1.5G -n lamplv scvg
      Logical volume "lamplv" created
      #在scvg卷組中建立一個1.5GB大小的lamplv邏輯卷


      建立完邏輯卷,還要在格式化和掛載之后才能正常使用。格式化和掛載命令與操作普通分區時是一樣的,不過需要注意的是,邏輯卷的設備文件名是"/dev/卷組名/邏輯卷名",如邏輯卷 lamplv 的設備文件名就是"/dev/scvg/lamplv"。具體命令如下:

      [root@localhost ~]# mkfs -t ext4 /dev/scvg/lamplv
      #格式化
      [root@localhost ~]# mkdir /disklvm
      [root@localhost ~]# mount /dev/scvg/lamplv /disklvm/
      #建立掛載點,并掛載
      [root@localhost ~]# mount
      …省略部分輸出…
      /dev/mapper/scvg-lamplv on /disklvm type ext4(rw)
      #已經掛載了

      當然,如果需要開機后自動掛載,則要修改 /etc/fstab 文件。

      查看邏輯卷

      查看命令同樣有兩個,第一個命令 lvscan 只能看到系統中是否擁有邏輯卷,命令如下:

      [root@localhost ~]# lvscan
      ACTIVE '/dev/scvg/lamplv' [1.50 GiB] inherit
      #能夠看到激活的邏輯卷,大小是1.5GB


      第二個命令 lvdisplay 可以看到邏輯卷的詳細信息,命令如下:

      [root@localhost ~]# lvdisplay
      ---Logical volume---
      LV Path /dev/scvg/lamplv
      邏輯卷的設備文件名
      LV Name lamplv
      #邏輯卷名
      VG Name scvg
      #所屬的卷組名
      LV UUID 2kyKmn-Nupd-CldB-8ngY-NsI3-b8hV-QeUuna
      LV Write Access read/write
      LV Creation host, time localhost, 2013-04-18 03:36:39 +0800
      LV Status available
      # open 1
      LV Size 1.50 GiB
      #邏輯卷大小
      Current LE 192
      Segments 2
      Allocation inherit
      Read ahead sectors auto
      -currently set to 256
      Block device 253:0

      調整邏輯卷大小

      我們可以使用 lvresize 命令調整邏輯卷的大小,不過我們一般不推薦減少邏輯卷的空間,因為這非常容易導致邏輯卷中的文件系統的數據丟失。所以,除非我們已經備份了邏輯卷中的數據,否則不要減少邏輯卷的空間。

      lvresize 命令格式如下:

      [root@localhost ~]# lvresize [選項] 邏輯卷的設備文件名

      選項:
      • -L 容量:安裝容量調整大小,單位為 KB、GB、TB 等。使用 + 増加空間,- 代表減少空間。如果直接寫容量,則代表設定邏輯卷大小為指定大??;
      • -l 個數:按照 PE 個數調整邏輯卷大??;

      我們先在 /disklvm 分區中建立一些測試文件,一會兒調整完大小,再看看數據是否丟失了。

      [root@localhost ~]# cd /disklvm/
      [root@localhost disklvm]# touch testf
      [root@localhost disklvm]# mkdir testd
      [root@localhost disklvm]# ls
      lost+found testd testf

      lamplv 邏輯卷的大小是 1.5GB,而 scvg 卷組中還有 1.5GB 的空閑空間,那么增加 lamplv 邏輯卷的大小到 2.5GB。命令如下:

      [root@localhost disklvm]# lvresize -L 2.5G /dev/scvg/lamplv
      Extending logical volume lamplv to 2.50 GiB Logical volume lamplv successfully resized
      #增加lamplv邏輯卷的大小到2. 5GB,當然命令也可以這樣寫
      [roots localhost disklvm] # lvresize -L +1G /dev/scvg/lamplv
      [root@localhost disklvm]# lvdisplay
      ---Logical volume ---
      LV Path /dev/scvg/lamplv
      LV Name lamplv
      VG Name scvg
      LV UUID 2kyKmn-Nupd-CldB-8ngY-Ns13-b8hV-QeUuna
      LV Write Access read/write
      LV Creation host, time localhost, 2013-04-18 03:36:39 +0800 LV Status available
      # open 1
      LV Size 2.50 GiB
      #大小改變了
      Current LE 320
      Segments 3
      Allocation inherit
      Read ahead sectors auto
      -currently set to 256
      Block device 253:0


      邏輯卷的大小已經改變了,但是好像有如下一些問題:

      [root@localhost disklvm]# df -h /disklvm/
      文件系統 容量 已用 可用 已用% %掛載點
      /dev/mapper/scvg-lamplv 1.5G 35M 1.4G 3%/ disklvm

      怎么 /disklvm 分區的大小還是 1.5GB ???剛剛只是邏輯卷的大小改變了,如果要讓分區使用這個新邏輯卷,則還要使用 resize2fs 命令來調整分區的大小。不過這里就體現出了 LVM 的優勢:我們不需要卸載分區,直接就能調整分區的大小。

      resize2fs命令的格式如下:

      [root@localhost ~]# resize2fs [選項] [設備文件名] [調整的大小]

      選項:
      • -f:強制調整;
      • 設備文件名:指定調整哪個分區的大??;
      • 調整的大?。褐付ò逊謪^調整到多大,要加 M、G 等單位。如果不加大小,則會使用整個分區;

      我們已經把邏輯卷調整到 2.5GB,這時就需要把整個邏輯卷都加入 /disklvm 分區中,命令如下:

      [root@localhost ~]# resize2fs /dev/scvg/lamplv
      resize2fs 1.41.12(17-May-2010)
      Filesystem at /dev/scvg/lamplv is mounted on/ disklvm; on-line resizing required
      old desc_blocks = 1, new_desc_blocks = 1
      Performing an on-line resize of/dev/scvg/lamplv to 655360 (4k) blocks.
      The filesystem on /dev/scvg/lamplv is now 655360 blocks long.
      #已經調整了分區大小
      [root@localhost ~]# df -h /disklvm/
      文件系統 容量 已用 可用 已用% %掛載點
      /dev/mapper/scvg-lamplv 2.5G 35M 2.4G 2% /disklvm
      #分區大小已經是2.5GB 了
      [root@localhost ~]# ls /disklvm/
      lost+found testd testf
      #而且數據并沒有丟失

      如果要減少邏輯卷的容量,則只需把增加步驟反過來再做一遍就可以了。不過我們并不推薦減少邏輯卷的容量,因為這有可能導致數據丟失。

      刪除邏輯卷

      刪除了邏輯卷,其中的數據就會丟失,所以要確定你真的需要刪除這個邏輯卷。命令格式如下:

      [root@localhost ~]#lvremove 邏輯卷的設備文件名

      我們刪除 lamplv 邏輯卷,記得在刪除時要先卸載。 命令如下:

      [root@localhost ~]# umount /dev/scvg/lamplv
      [root@localhost ~]# Ivremove /dev/scvg/lamplv
      Do you really want to remove active logical volume lamplv? [y/n]: n
      #如果這里選擇y,就會執行刪除操作,邏輯卷內的所有數據都會被清空
      Logical volume lamplv not removed

      發表評論 共有條評論
      用戶名: 密碼:
      驗證碼: 匿名發表
      精品国产青草久久久久福利

        <span id="spc7x"></span>

        <th id="spc7x"></th>

        <li id="spc7x"><object id="spc7x"></object></li>
      1. <rp id="spc7x"></rp>
          <th id="spc7x"><pre id="spc7x"></pre></th>

          <button id="spc7x"><acronym id="spc7x"></acronym></button>