linux 使用fdisk分區擴容

来源:http://www.cnblogs.com/chenmh/archive/2016/01/03/5096592.html
-Advertisement-
Play Games

標簽:fdisk分區概述我們管理的伺服器可能會隨著業務量的不斷增長造成磁碟空間不足的情況,在這個時候我們就需要增加磁碟空間,本章主要介紹如何使用fdisk分區工具創建磁碟分區和掛載分區,介紹兩種情況一種是對原有的磁碟的剩餘空間增加分區,第二種是對新添加的磁碟進行分區操作。擴展空間查看當前分區信息fd...


標簽:fdisk分區

概述  

我們管理的伺服器可能會隨著業務量的不斷增長造成磁碟空間不足的情況,在這個時候我們就需要增加磁碟空間,本章主要介紹如何使用fdisk分區工具創建磁碟分區和掛載分區,介紹兩種情況一種是對原有的磁碟的剩餘空間增加分區,第二種是對新添加的磁碟進行分區操作。

 

擴展空間

fdisk: invalid option -- '-'

Usage:
 fdisk [options] <disk>    change partition table
 fdisk [options] -l <disk> list partition table(s)
 fdisk -s <partition>      give partition size(s) in blocks

Options:
 -b <size>                 sector size (512, 1024, 2048 or 4096)
 -c                        switch off DOS-compatible mode
 -h                        print help
 -u <size>                 give sizes in sectors instead of cylinders
 -v                        print version
 -C <number>               specify the number of cylinders
 -H <number>               specify the number of heads
 -S <number>               specify the number of sectors per track

 

查看當前分區信息

fdisk -l

 上圖的紅色標記顯示當前sda總共有3916個柱面,而目前只使用了2611個柱面,現在就將剩下的柱面創建分區。

創建分區

使用:fdisk 磁碟文件

fdisk /dev/sda

 1.輸入m查看幫助。

 

a :設置可引導標記
b :修改bsd的磁碟標簽
c :設置DOS操作系統相容標記
d :刪除一個分區
l :顯示已知的分區類型,其中82為Linux swap分區,83為Linux分區
m :顯示幫助信息
n :增加一個新的分區
o :創建一個新的空白的DOS分區表
p :顯示磁碟當前的分區表
q :退出fdisk程式,不保存任何修改
s :創建一個新的空白的Sun磁碟標簽
t :改變一個分區的系統號碼(比如把Linux Swap分區改為Linux分區)
u :改變顯示記錄單位
v :對磁碟分區表進行驗證
w :保存修改結果並退出fdisk程式
x :特殊功能

2.輸入n創建分區

詢問我們是要創建主分區還是擴展分區,主分區最多只能創建4個,如果創建了擴展分區那麼擴展分區需要占用一個主分區。

這裡我們創建擴展分區,輸入e

需要我們輸入起始柱面,預設是2611開始,這裡可以輸入2611也可以直接enter。

最後輸入3916,這樣就創建好了擴展分區。

3.創建邏輯分區

輸入p,查看分區創建情況

 可以發現sda4的文件系統類型是擴展分區,擴展分區是無法使用的,必須在擴展分區的基礎上創建邏輯分區

輸入n創建邏輯分區,因為這裡只剩下剛纔創建的邏輯分區需要創建,所以不需要選擇輸入開始和結束柱面即可。

 再輸入p顯示所有分區,可以看到創建了sda5這個邏輯分區

4.輸入w保存

當然剛纔也可以直接創建主分區,不創建邏輯分區。

5.格式化邏輯分區

如果是使用虛擬機,需要重啟才可以對分區進行格式化,否則會提示找不到分區文件。

mkfs -t ext3 /dev/sda5

6.掛載分區

先創建分區掛載的文件夾

mkdir /newpar

將sda5掛載到/newpar文件下

mount /dev/sda5 /newpar

7.查看掛載情況

df -h

 這個掛載只是臨時的,重啟伺服器之後又需要重新掛載,通過修改/etc/fstab文件使掛載永久有效

8.永久掛載

在編寫的時候可以使用tab鍵寫下一項。

概念

通過前面的預熱,現在來講概念理解起來會容易一點。

磁碟

在linux系統中所有的設備都會以文件的形式存儲。設備一般保存在/dev目錄下麵,以sda、sda1、sda2 ...,sdb、sdb1...,hda,hdb。現在的設備一般都是sd命名,以前的很老的硬碟是以ha命名。

sda:第一塊硬碟,如果對磁碟進行了分區會有sda1(第一個分區),sda2等。

sdb:第二個硬碟,同樣對硬碟分區後有sdb1,sdb2等。

分區

分區的目的就是便於管理,比如在windows系統我們一般會分C盤,D盤,E盤等。

在講主分區和擴展分區前先看張圖片。

 這是我的當前windows系統的分區情況,從這裡可以很好的理解主分區和擴展分區的概念,同時也有柱面的概念,當前主分區是C盤,擴展分區包括D盤、E盤、F盤。同時D盤、E盤、F盤也叫邏輯分區。

其實我們也可以不創建擴展分區,在windows裡面如果不創建擴展分區的話對程式的管理會不方便,只有一個分區。但是在linux中如果剛纔在創建分區的是有留言會發現linux只能創建4個主分區,如果需要創建更多的分區那麼久必須創建邏輯分區,其中邏輯分區需要占用一個主分區。

文件系統

linux中的文件系統也就是分區類型,在windows中有NTEF,FAT32等,linux中常見的有Ext2、Ext3、Ext4、Linux swap、proc、sysfs、tmpfs等,可以通過mount命名查看當前已掛載的文件系統。

格式化

在前面創建完分區後有一步是要對分區進行格式化,其實在windows系統中也是一樣,在創建好一個分區後也需要將分區格式化,只有格式化成具體的文件類型才能使用。

掛載

在windows中分區格式化後就可以使用,但是在linux系統中必須將分區掛載到具體的路徑下才可以。

 

接下來演示增加一個新磁碟的完整過程。 

新增硬碟

 在當前虛擬機中增加一塊20G的硬碟

1.使用fdisk -l查詢當前系統分區情況

 可以看到新增加的sdb磁碟還沒有分區

2.創建主分區

fdisk /dev/sdb

輸入n

在輸入結束柱面的這裡如果你不知道該輸入多大的數字,你可以輸入+然後輸入你要設的大小。這裡我設置5G的主分區。

輸入p查看分區信息,可以看到剛創建的sdb1主分區,接下來創建邏輯分區。

3.創建擴展分區

圖片上通過紅色標註了操作步驟。可以看到當前已創建了sdb2擴展分區,柱面從655-2610,即將剩下的所有空間創建為擴展分區。

4.創建邏輯分區

 總共創建了兩個邏輯分區,邏輯分區預設從5開始,第一個邏輯分區大小2G,用來做交換分區用,剩下全部給sdb6.

5.修改文件類型ID

因為預設分區id都是83即linux文件類型,現在將sdb5的文件類型ID改成82即交換分區。

6.保存退出

 

7.格式化分區

接下來要對sdb的每一個分區進行格式化,

註意:擴展分區不需要進行格式

輸入mkfs.ext3 /dev/sdb1

swap分區格式化要使用

mkswap /dev/sdb5

載入文件
swapon /dev/sdb5

查看是否生效
swapon -s

可以看到sda3,和sdb5這兩個swap分區

 8.掛載分區

 這裡直接使用修改文件的方式永久掛載

創建掛載文件路徑
mkdir sdb1 sdb6

9.立即生效

partprobe 

在我的虛擬機上面無法立即生效,重啟機器。

shutdown -r now

 

 重啟之後會發現,sdb1,sdb6都已經生效了,而且swap也變成了6G(sda3+sdb5)

 

補充

格式化分區還可以使用帶參數的mke2fs命令

mke2fs [-c|-l filename] [-b block-size] [-f fragment-size]
    [-i bytes-per-inode] [-I inode-size] [-J journal-options]
    [-G meta group size] [-N number-of-inodes]
    [-m reserved-blocks-percentage] [-o creator-os]
    [-g blocks-per-group] [-L volume-label] [-M last-mounted-directory]
    [-O feature[,...]] [-r fs-revision] [-E extended-option[,...]]
    [-T fs-type] [-U UUID] [-jnqvFKSV] device [blocks-count]
-b:指定區塊大小,單位為位元組。
-c:檢查是否有損壞的區塊。
-f:指定不連續區段的大小,單位為位元組。
-F:不管指定的設備為何,強制執行mke2fs。
-i:指定"位元組/inode"的比例。
-N:指定要建立的inode數目。
-l:從指定的文件中,讀取文件西中損壞區塊的信息。
-L:設置文件系統的標簽名稱。
-m:指定給管理員保留區塊的比例,預設為5%-M:記錄最後一次掛入的目錄。
-q:執行時不顯示任何信息。
-r:指定要建立的ext2文件系統版本。
-R:設置磁碟陣列參數。
-S:僅寫入superblock與group descriptors,而不更改inode able inode bitmap以及block bitmap。
-v:執行時顯示詳細信息。
-V:顯示版本信息。
-T:指定文件系統類型

 dumpe2fs命令

查看分區的詳細信息
dumpe2fs /dev/sdb1

圖中只截取了一部分信息,該命令可以查看指定分區的詳細信息,很詳細。

 

總結

現在的文件系統建議使用ext4,上面只是測試使用ext3,生產環境還行使用邏輯捲比較好。

 

 

 

備註:

    作者:pursuer.chen

    博客:http://www.cnblogs.com/chenmh

本站點所有隨筆都是原創,歡迎大家轉載;但轉載時必須註明文章來源,且在文章開頭明顯處給明鏈接,否則保留追究責任的權利。

《歡迎交流討論》

 

---恢復內容結束---


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

-Advertisement-
Play Games
更多相關文章
  • 對於我這樣的新人來說,因為是剛開始做項目,所以以前的技術不是用的很多,就比如springmvc來說,實際上使用的都是註解形式的,對於那些全部都是配置的來說,雖然也瞭解一些,但是實際上還是沒試用過的。 下麵就理一下註解的各種用法:@Controller:用於標識是處理器類;@RequestMappin...
  • 題目:Given n non-negative integers representing the histogram's bar height where the width of each bar is 1, find the area of largest rectangle in the h...
  • 學過單片機的同學應該清楚,我們在編寫感測器驅動時,需要用到高精度的定時器、延時等功能,wiringpi提供了一組函數來實現這些功能,這些函數分別是:micros() #返回當前的微秒數,這個數在調用wiringPiSetup()後被清零並重新計時millis() #返回當前的毫秒數,同上,這個數在調...
  • 在應用Unix/Linux時,我們一般想讓某個程式在後臺運行,於是我們將常會用 & 在程式結尾來讓程式自動運行。比如我們要運行mysql在後臺: /usr/local/mysql/bin/mysqld_safe –user=mysql &。可是有很多程式並不想mysqld一樣,這樣我們就需要nohu...
  • 2月4日消息,微軟Windows 10消費者預覽版發佈後,許多Windows 7用戶都忍不住下載嘗鮮,但部分用戶升級前卻可能並未備份Windows 7。針對這種情況,微軟特地推出了一個Windows 7恢復網站,讓用戶能回到Windows 7。不過最新消息顯示,該Windows 7恢復網站目前無法....
  • 最新win7系統32位電腦城快速裝機穩定版 V2016年1月全能裝機版 V2016.1(32位)與之前的系統相比,更註重智能性,在安裝方式上也更加精簡,操作步驟簡便,更適合不會COMS設置和GHOST的用戶。最新更新的win7系統地址http://www.xitongma.com/Windows7/...
  • 標簽:mount,umount概述在上一章增加linux操作系統空間中已經使用過了mount命令對分區進行掛載,這一章詳細介紹掛載管理,該命令涉及的知識點也挺多的而且也還比較重要,是需要掌握的一個命令。掛載分區mount基本語法mount [參數] /dev/sdb1(需要掛載的分區) /sdb1....
  • 這次藉助zynq的內嵌的XADC來採集zynq內部的一些參數:•VCCINT:內部PL核心電壓•VCCAUX:輔助PL電壓•VREFP:XADC正參考電壓•VREFN:XADC負參考電壓•VCCBram:PL BRAM電壓•VCCPInt:PS內部核心電壓•VCCPAux:PS輔助電壓•VCCDdr...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...