Extend a root LVM partition online

来源:https://www.cnblogs.com/qiandavi/archive/2018/03/01/8486453.html
-Advertisement-
Play Games

There is also a quick remedy for the emergency situation when your root partition runs out of disk space. There is a feature specific to ext3 and ext4 ...


There is also a quick remedy for the emergency situation when your root partition runs out of disk space. There is a feature specific to ext3 and ext4 that can help the goal of resolving the full disk situation. Unless explicitly changed during filesystem creation, both by default reserve five percent (5%) of a volume capacity to the superuser (root).

 1 # df -Th
 2 Filesystem    Type    Size  Used Avail Use% Mounted on
 3 /dev/mapper/vg_main-lv_root
 4               ext4    8.4G  8.0G  952K 100% /
 5 tmpfs        tmpfs    499M     0  499M   0% /dev/shm
 6 /dev/vda1     ext4    485M   33M  428M   8% /boot
 7 
 8 # dumpe2fs /dev/vg_main/lv_root | grep 'Reserved block count'
 9 dumpe2fs 1.41.12 (17-May-2010)
10 Reserved block count:     111513

 

It turned out 111513 of 4KB blocks were reserved for the superuser, which was exactly five percent of the volume capacity.

How to enable it?

1 # tune2fs -m 0 /dev/vg_main/lv_root 
2 tune2fs 1.41.12 (17-May-2010)
3 Setting reserved blocks percentage to 0% (0 blocks)
4 # df -Th
5 Filesystem    Type    Size  Used Avail Use% Mounted on
6 /dev/mapper/vg_main-lv_root
7               ext4    8.4G  8.0G  437M  95% /
8 tmpfs        tmpfs    499M     0  499M   0% /dev/shm
9 /dev/vda1     ext4    485M   33M  428M   8% /boot

 


Now that we have some free space on the root partition to work on we can extend the LVM partition:


Create a new partition of appropriate size using fdisk

1 fdisk /dev/sdb1

 


This is a key sequence on the keyboard to create a new LVM type (8e) partition:

n, p, 1, enter (accept default first sector), enter (accept default last sector), t, 8e, w


Create a new Physical Volume

1 # pvcreate /dev/sdb1
2   Writing physical volume data to disk "/dev/sdb1"
3   Physical volume "/dev/sdb1" successfully created

 

Extend a Volume Group

1 # vgextend vg_main /dev/sdb1
2   Volume group "vg_main" successfully extended

 

Extend your LVM


- extend the size of your LVM by the amount of free space on PV

1 # lvextend /dev/vg_main/lv_root /dev/sdb1
2   Extending logical volume lv_root to 18.50 GiB
3   Logical volume lv_root successfully resized

 

- or with a given size

1 lvextend -L +10G /dev/vg_main/lv_root

 


Finally resize the file system on-line   

1 # resize2fs /dev/vg_main/lv_root
2 resize2fs 1.41.12 (17-May-2010)
3 Filesystem at /dev/vg_main/lv_root is mounted on /; on-line resizing required
4 old desc_blocks = 1, new_desc_blocks = 2
5 Performing an on-line resize of /dev/vg_main/lv_root to 4850688 (4k) blocks.
6 The filesystem on /dev/vg_main/lv_root is now 4850688 blocks long.

 

- or use xfs_growfs for xfs file system

1 # xfs_growfs /dev/vg_main/lv_root

 

 

Now we can set the reserved blocks back to the default percentage - 5%

1 # tune2fs -m 5 /dev/mapper/vg_main-lv_root
2 Results:
3 
4 # df -Th
5 Filesystem    Type    Size  Used Avail Use% Mounted on
6 /dev/mapper/vg_main-lv_root
7               ext4     19G  8.0G  9.4G  46% /
8 tmpfs        tmpfs    499M     0  499M   0% /dev/shm
9 /dev/vda1     ext4    485M   33M  428M   8% /boot

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前兩天,當我還在老家收拾行旅,準備回廣州,為IT連的創業再戰365天時,有網友扣上問:Taurus.MVC中如何實現認證和許可權控制,最好能做個小例子。我一不小心回了句:等回廣州我再寫篇文章......然後,今天就來補文章了〜〜〜〜 ...
  • Ocelot(https://github.com/TomPallister/Ocelot)是一個用.net core實現的API網關,Butterfly(https://github.com/ButterflyAPM/butterfly)是用.net core實現的全程式跟蹤,現在,Ocelot中... ...
  • 做過單元測試的同學大概都知道以上幾種測試框架,但我一直很好奇它們到底有什麼不同,然後搜到了一篇不錯的文章清楚地解釋了這幾種框架的最大不同之處。 地址在這裡:http://www.tuicool.com/articles/F3eEn2j 簡而言之,三者是非常相似的,如下所示: 上面是NUnit的,XN ...
  • IIS連接數 常識: 虛擬主機會限制IIS連接數,關於其含義,差不多每個主機供應商都有一套自己的說法,微軟也沒有給出很明確的解釋; 含義: IIS伺服器可以同時容納客戶請求的最高連接數,準確的說應該叫“IIS限制連接數”; 一次連接: 1.網站html請求,html中的圖片資源,html中的腳本資源 ...
  • 1、.Net工程的Properties文件夾下自動生成一個名為AssemblyInfo.cs的文件,一般情況下我們很少直接改動該文件。但我們實際上通過另一個形式操作該文件。那就是通過在滑鼠右鍵點擊項目的屬性進入“應用程式”->“程式集信息”,然後修改信息。 2、通過特性(Attribute)來設置程 ...
  • 剛寫完自定義頭像模塊,記錄一下剛纔的過程,直接上代碼: 在講位元組轉化為string時,網上很多資料都是 string str = System.Text.Encoding.UTF8.GetString(imgByte); 但是親測返回值是亂碼,上傳的PHP時無法解析,所以嘗試使用Convert.To ...
  • 1.Bytes >StringSystem.Text.Encoding.Unicode.GetString(bytes, 0, bytes.Length) 2.String >BytesSystem.Text.Encoding.Unicode.GetBytes(str) ...
  • 第一種最簡單,但沒有考慮線程安全,在多線程時可能會出問題,不過俺從沒看過出錯的現象,表鄙視我…… public class Singleton{ private static Singleton _instance = null; private Singleton(){} public stati ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...