linux分區擴容
1. linux系統下用什麼命令可以直接擴展磁碟空間
Linux沒有什麼命令可以直接擴展磁碟空間。
linux下磁碟和目錄的概念與WIN不同:比如,分了一個系統分區默認掛載了根(/)目錄,根下還有其它目錄,比如/user /lib等。如果系統分區不夠用,可以再分出分支,把根下其它目錄分別掛載出來,例如:
/dev/sda2 29222812 20018256 7739724 73% /
/dev/sda4 3856096800 2802714400 860383796 77% /home
根目錄掛載在sda2分區上,/home目錄掛載在sda4分區上。/home還在根(/)下,但實際已經不佔用sda2分區的空間了。同理也可以把/user /lib這樣的分區也分出來,緩解根分區的壓力。這樣操作的好處是,/home可以作為數據分區,即使系統重裝,只要格式化根分區(上例中sda2即可,基本不影響/home),但缺點也有,容易使磁碟分區碎片化,不方便管理。另外,最開始分分區時也是無法預料這個分區最終會使用到多大,慢慢也會有用完的情況(雖然也可以繼續把子目錄再掛載出來)
於是,還可以使用lvm工具,邏輯卷。這個工具可以動態增加磁碟空間。但這個工具系統默認是不安裝的,而且需要先把分區做成邏輯卷後才能使用。具體方法網上可以搜到好多,此處就不贅述了。
2. 怎麼給linux分區擴大容量'
這里以RedhatAS4為例。當磁碟分區發現不夠用時,能想道的第一個做法就是增加分區大小。但是一般Linux如果沒有採用邏輯卷管理,則動態增加分區大小很困難,一個能想道的法就是,備份分區文件系統數據,刪除分區,然後再重新創建分區,恢復備份的文件系統,這個做法比較玄,可能刪除分區後導致系統無法啟動。第二個做法就是,創建一個新的邏輯分區(當然必須有未使用的磁碟空間能分配),將文件系統從老分區拷貝到新分區,然後修改fstab,使用新分區/文件系統替換老的分區/文件系統第三種做法是,創建一個新的邏輯分區,將新的邏輯分區格式化ext3(或其他類型)的文件系統,mount到磁碟空間不夠的文件系統,就跟原來的分區/文件系統一樣的使用。這里採用的是第三種方式:sdb為第二個SCSI硬碟。[root@hdp0hadoop]#/sbin/fdisk/dev/.Thereisnothingwrongwiththat,butthisislargerthan1024,:1)softwarethatrunsatboottime(e.g.,oldversionsofLILO)2)(e.g.,DOSFDISK,OS/2FDISK)Command(mforhelp):pDisk/dev/sdb:73.5GB,73557090304bytes255heads,63sectors/track,8942cylindersUnits=cylindersof16065*512=/dev/sdb1*11301044193+83Linux/dev/sdb21313912096482+82Linuxswap/dev/sdb3392521104422583Linux/dev/sdb4522894267641682+5Extended/dev/sdb552258652208183Linux/dev/sdb658765152208183Linux/dev/sdb765211734192933+83Linux可以看出sdb1,2,3為主分區,sdb4為擴展分區。後面的sdb5,6,7則為邏輯分區。柱面編號(Start,End)是連續的,sdb7隻用道了1173,而從擴展分區看最大到8942,也就是說,還有7769個柱面是空閑的,一個柱面大小為8225280,約為8M大小。還剩7769*8225280bytes,約62G未使用。新增加一個邏輯分區(註:若涉及到主分區和擴展分區,實際情況可能比這個復雜,這里4個主分區(包括擴展分區)都分過了,所以只能分邏輯分區)Command(mforhelp):nFirstcylinder(1174-8942,default1174):Usingdefaultvalue1174增加大小為10GLastcylinderor+sizeor+sizeMor+sizeK(1174-8942,default8942):+10240M增加後看一下,多了一個邏輯分區/dev/sdb8Command(mforhelp):pDisk/dev/sdb:73.5GB,73557090304bytes255heads,63sectors/track,8942cylindersUnits=cylindersof16065*512=/dev/sdb1*11301044193+83Linux/dev/sdb21313912096482+82Linuxswap/dev/sdb3392521104422583Linux/dev/sdb4522894267641682+5Extended/dev/sdb552258652208183Linux/dev/sdb658765152208183Linux/dev/sdb765211734192933+83Linux/dev/sdb81174241910008463+83Linux可以看到,增加了一個sdb8的分區,柱面號從1174到2419.寫入分區表,執行分區操作Command(mforhelp):!Callingioctl()tore-readpartitiontable.WARNING:Re-:設備或資源忙.Thekernelstillusestheoldtable..Syncingdisks.分區完後,是看不到文件系統的[root@hdp0hadoop]#df-mFilesystem1M-塊已用可用已用%掛載點/dev/sdb1100458237262%/none1014010140%/dev/shm/dev/sdb3100480714785%/home/dev/sdb5494114583%/opt/dev/sdb74031327255486%/usr/dev/sdb64948738219%/var重啟機器reboot格式化文件系統[root@hdp0hadoop]#/sbin/mkfs.ext3/dev/sdb8mount文件系統,/home/develop為/home下一目錄[root@hdp0hadoop]#mount/dev/sdb8/home/develop查看文件系統,可以看到新建立的分區/文件系統已經掛載上,能夠使用了。[root@hdp0hadoop]#df-mFilesystem1M-塊已用可用已用%掛載點/dev/sdb1100458237262%/none1014010140%/dev/shm/dev/sdb3100480714785%/home/dev/sdb5494114583%/opt/dev/sdb74031327255486%/usr/dev/sdb64948738219%/var/dev/sdb896215490791%/home/develop
3. linux之lvm分區擴容
以下步驟的前提為磁碟lvm分區
1、加入新硬碟
2、分區
PV(physical volume)即物理卷,就是物理磁碟,可以通過fdisk -l 查看操作系統有幾塊硬碟
VG(volume group)即卷組,就是一組物理磁碟的組合,裡面可以有一塊硬碟也可以有多塊硬碟
LV(logical volume)及邏輯卷,就是在VG(指定的物理磁碟組)裡面劃分出來的
可以說成是PV就是硬碟,而VG就是管理硬碟的操作系統,而LV就是操作系統分出來的各個分區.
PV->VG->LV-> 文件系統使用(掛載到某個目錄)
對新磁碟/dev/sdb進行分區
[root@xt-prod-mydb02 ~]# parted /dev/sdb
GNU Parted 3.1
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel
New disk label type? gpt
(parted) mkpart
Partition name? []?
File system type? [ext2]? xfs
Start? 1
End? 10G
(parted) q
Information: You may need to update /etc/fstab.
創建物理卷 pvcreate /dev/sdb1
創建卷組 並將物理卷加入其中 vgcreate data /dev/sdb1 (data為卷組名)
創建邏輯卷組並分配大小 lvcreate -l +100%FREE -n lvdata data
格式化 mkfs.xfs /dev/mappper/data-lvdata
開機掛載新硬碟 vi /etc/fstab
掛載 mount -a (先建data目錄 mkdir /data)
查看 df -lh
卸載掛點 umount /dev/mapper/data-lvdata
3、擴容
磁碟/dev/sdb只分10個G。。還有10G沒有分配。。所以繼續進行分區
parted /dev/sdb
列印分區信息表可以看到有兩個分區了。
創建物理卷 pvcreat /dev/sdb2
查看將要擴容的卷組信息 vgdisplay 可見可擴容大小為0
將物理卷擴展到卷組 #vgextend data /dev/sdb2 (此處『cl』是卷組名稱)
再次查看卷組信息 vgdisplay 可擴容空間變成10G
將卷組中空閑空間擴展到 /data #lvextend -l +100%FREE /dev/mapper/data-lvdata
.刷新文件系統是擴容生效 #xfs_growfs /dev/mapper/data-lvdata
查看結果 :df -lh 擴容成功
4. linux分區滿了,如何進行擴容
有兩種方法實現對linux分區的擴容。第一種方式是軟鏈接(符號鏈接)。舉個例子來說明下軟鏈接,假如你的/b目錄滿了,不能存儲文件。這時你把/a目錄鏈接到/b目錄,你在訪問/b目錄時實際是訪問/a目錄裡面的空間。
假設新增的磁碟為xvdb1,首先對磁碟分區,具體方法參考網上教程分區完成後製作文件系統(順序不可亂)。完成後先將原先目錄已滿的/b從原掛載點卸載,例如:umount
/dev/xvda1
/b。卸載掉掛載在/b目錄下的分區xvda1。重新將新增的分區掛載到/b:mount
/dev/xvdb1
/b。將/etc/fstab內加入新掛載的分區和掛載點,這一點非常重要,否則重啟後分區會丟失。至此,原來已滿的/b被重新掛載到了新的硬碟分區,然後將原來備份的文件拷貝回來就可以了。
5. linux 文件系統擴容
因為不確定你使用文件系統系統的具體情況,不能給出具體的操作命令,以下過程供參考:
>已有分區/dev/sda6大小為1G,隨著業務的增長,空間需求量變大,但又不能重新分區格式化,造成原有數據丟失。此時,可以使用resize2fs進行文件系統擴展,不影響分區中原有文件。
具體步驟:
(1)查看原分區大小為1G左右,並卸載分區
[root@station25
~]#
df
-Th
文件系統
類型
容量
已用
可用
已用%%
掛載點
/dev/sda2
ext4
9.7G
7.6G
1.6G
84%
/
tmpfs
tmpfs
354M
176K
354M
1%
/dev/shm
/dev/sda1
ext4
194M
25M
159M
14%
/boot
/dev/sr0
iso9660
2.9G
2.9G
0
100%
/var/ftp/rhel6
/dev/sda6
ext4
989M
18M
921M
2%
/aabb
[root@station25
~]#umont
/dev/sda6
(2)查看/dev/sda8分區的柱面范圍
[root@station25
~]#
fdisk
-l
|grep
sda6
Disk
/dev/mapper/myvg01-haoren
doesn't
contain
a
valid
partition
table
/dev/sda6
1621
1748
1028128+
83
Linux
(3)使用fdisk名對sda6重新設定柱面范圍
先刪除分區sda6,然後新增分區sda6,將結束柱面調整為2100。
[root@station25
~]#
fdisk
-l|grep
sda6
Disk
/dev/mapper/myvg01-haoren
doesn't
contain
a
valid
partition
table
/dev/sda6
1621
2100
3855568+
83
Linux
(4)使用partprobe同步內存中分區信息
(5)使用e2fsck強制檢查分區
[root@station25
~]#e2fsck
-f
/dev/sda6
(6)使用resize2fs重新定義文件系統大小
[root@station25
~]#
resize2fs
/dev/sda6
resize2fs
1.41.12
(17-May-2010)
Resizing
the
filesystem
on
/dev/sda6
to
963892
(4k)
blocks.
The
filesystem
on
/dev/sda6
is
now
963892
blocks
long.
(7)重新掛載分區,使用df
-TH
查看擴容後分區大小
[root@station25
~]#
df
-Th
文件系統
類型
容量
已用
可用
已用%%
掛載點
/dev/sda2
ext4
9.7G
7.6G
1.6G
84%
/
tmpfs
tmpfs
354M
176K
354M
1%
/dev/shm
/dev/sda1
ext4
194M
25M
159M
14%
/boot
/dev/sr0
iso9660
2.9G
2.9G
0
100%
/var/ftp/rhel6
/dev/sda6
ext4
3.7G
19M
3.5G
1%
/aabb
文件系統擴容成功。
6. 給linux虛擬機硬碟擴容(LVM分區)
1.關閉虛擬機,調整磁碟容量大小。
2.開啟虛擬機,查看磁碟分區信息。
3.創建新分區
4.重新讀取分區
5.創建物理卷
6.查看卷組名稱,以及卷組使用情況
7.將物理卷擴展到卷組
8.查看當前邏輯卷的空間狀態
9.將卷組中的空閑空間擴展到根分區邏輯卷
10.執行
11.查看擴展之後磁碟使用情況
7. Linux磁碟掛載和擴容(1)
本章我們先介紹Linux伺服器磁碟掛載,下期介紹Linux磁碟擴容問題。
Linux磁碟掛載有兩種情況
1. 小於2T磁碟掛載
2. 大於2T磁碟掛載
下面我們分別介紹兩種情況的掛載方式
以下磁碟名稱都以/dev/sdc為例
掛載小於2T的磁碟也分兩種
第一種,直接掛載裸盤,此刻就不用創建分區
在這種情況下,可以直接格式化磁碟,我們這里用ext4格式,當然也可以使用xfs格式
1)格式化分區
2)掛載磁碟
在掛載磁碟之前為了防止機器重啟的時候沒有載入磁碟,我們需要添加配置文件
1)創建分區
在這種情況下,我們需要先將裸盤創建分區,需要使用fdisk命令
以下都是按照實際運維工作中使用的介紹,還有特殊情況可以自行搜索文檔研究。
3) 掛載分區
和上面一樣,掛載大於2T的磁碟也分裸盤和分區
第一種,掛載裸盤的話,和小於2T一樣,不涉及分區情況,可以直接掛載,具體掛載方式可以參考小於2T的裸盤掛載方式
下面具體說一下第二種,磁碟分區掛載
這種方式已經不能使用fdisk工具了,fdisk只適合劃分2T一下的磁碟,此刻需要用到的工具是parted
1)建立磁碟標簽GPT
parted /dev/sdc
查看當前磁碟信息
print 可以看到磁碟還沒有分區
我們這里使用創建主分區,並且使用全部磁碟
mkpart primary 0% 100%
4) 掛載磁碟
這里也參考上面的磁碟掛載,寫入配置文件/etc/fstab,這里為了簡便,我直接在命令行掛載了。
此時可以看到磁碟已經掛載