新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 系統(tǒng)管理:如何調(diào)整Linux磁盤分區(qū)的大小

系統(tǒng)管理:如何調(diào)整Linux磁盤分區(qū)的大小

作者: 時間:2017-06-06 來源:網(wǎng)絡(luò) 收藏

在使用linux的過程中, 有時會出現(xiàn)因為安裝系統(tǒng)時分區(qū)不當導(dǎo)致有的分區(qū)空間不足,而有的分區(qū)空間過剩的情況.比如: 我在安裝系統(tǒng)時給/usr/local分配器了5G的空間,但使用一段過程后發(fā)現(xiàn), /usr/local最多只用到了1G.這樣可以將/usr/local大小調(diào)整為1G. 空出4G留作他用.本文歸納了在不破快文件系統(tǒng)數(shù)據(jù)的前提下對文件系統(tǒng)大小進行調(diào)整的方法.這里采用的是拆東墻, 補西墻的方法. 當然, 如果你的磁盤中有未分區(qū)的空閑空間, 你就不用減小某個分區(qū)的空間了.

準備工作

(一) 備份


首先組好備份要更改的分區(qū)中的文件. 對磁盤的操作也許會導(dǎo)致數(shù)據(jù)的丟失. 開始工作之前最好將重要的數(shù)據(jù)保存到別的分區(qū).

(二) 獲取相關(guān)信息.


1, 運行 $ df , 查看文件系統(tǒng)信息. 記下你想要調(diào)整的分區(qū)對應(yīng)的掛載點和設(shè)備文件.


這一步是為了查看/usr/local對應(yīng)/dev/中的哪個設(shè)備文件. 本文以/dev/hda7為例.


2, 運行 # sudo fdisk /dev/sda . 進入fdisk , 按下p, 查看信息. 記下/dev/sda8的起始柱面號, 終止柱面號. 設(shè)他們分別為start, end. 并記下一個Unit包含多少字節(jié).

注意, 文件系統(tǒng)大小和大小是不能等同的: 起碼他們的計量單位不同. 在文件系統(tǒng)中, 一般用KB, MB, GB為單位. 但在fdisk中, 是以磁盤的unit值(即一個柱面中包含的字節(jié)數(shù))來計算的. 我們運行 # fdisk /dev/sda后, fdisk顯示如下信息:

Disk /dev/sda: 163.9 GB, 163928604672 bytes

255 heads, 63 sectors/track, 19929 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes


(三)計算終止柱面號

e.g: 原先/usr/local的大小為5000 MB, 起始柱面號為2550, 終止柱面號為3157. 那么我現(xiàn)在要將它的大小改為1000MB, 應(yīng)該這樣計算終止柱面號( [3.2] = 4 ):

終止柱面號 = 2550 [(1000 * 1024 * 1024 ) / 8225280] = 2678

使用fdisk刪除原來的分區(qū)(以前分區(qū)的數(shù)據(jù)不會丟失!). 然后新建一個分區(qū), 新分區(qū)于舊分區(qū)唯一的區(qū)別就在于分區(qū)大小不一樣, 這表現(xiàn)在他們終止柱面號不同.

增加分區(qū)大小: 終止柱面號設(shè)置為空閑空間的最后一個柱面號.減小分區(qū)大小: 終止柱面號由計算得出.

開始調(diào)整

在開始調(diào)整之前, 最好拿一張紙記下要調(diào)整的分區(qū)的下列信息:

調(diào)整前大小, 調(diào)整后大小. 它掛載在哪個目錄, 對應(yīng)于/dev/中的哪個設(shè)備. 起始, 終止柱面.

e.g: 調(diào)整前: 5G, 調(diào)整后: 1G, 掛載點: /usr/local, 對應(yīng)于/dev/hda7. 起始,終止柱面分別為2550, 3157.

1, 卸載分區(qū)

最好在runlevel = 1的情況下卸載.

# umount /dev/

2, 檢查文件系統(tǒng)的一致性

# fsck -n /dev/

3, 如夠是ext3系統(tǒng), 還要去除日志

# tune2fs -O ^has_journal /dev/

注意: 取出日志后的ext3系統(tǒng)是無法掛載的, 使用

# tune2fs -j /dev/重建日志.

4, 調(diào)整文件系統(tǒng)大小

# resize_reiserfs -s 1000M /dev/hda7


調(diào)整完文件系統(tǒng)的大小以后,再使用以下命令以文件系統(tǒng)進行全面的檢查:

# reiserfsck --check --fix-fixable /dev/hda7

5, 進入fdisk, 調(diào)整分區(qū)大小.

# fdisk /dev/hda

由于內(nèi)核仍然使用舊的分區(qū)表, 重啟之后再進行后面的步驟.

通過以上步驟,我們已經(jīng)完成了硬盤分區(qū)大小調(diào)整的操作,接下來回到重新調(diào)整文件系統(tǒng)大小的問題上來。 由于硬盤分區(qū)是按照柱面來計劃的,我們要在 resize_reiserfs步驟上就一步到位調(diào)整文件系統(tǒng)大小與硬盤分區(qū)大小正好相等是比較困難的事情。所以一般是調(diào)硬盤分區(qū)比文件系統(tǒng)要大一點點, 然后再通過以下命令進行同步(當然如果你不在意硬盤分區(qū)里面存在部分空間的話也可以忽略以下步驟):

# umount /home/

# resize_reiserfs /dev/hda6

這樣, 就將/usr/local的大小調(diào)整為1G, 留下了4G的空閑磁盤空間。

本文引用地址:http://www.butianyuan.cn/article/201706/349412.htm


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉