磁盤分區知識的重點:java
(1)給磁盤分區的實質就是針對硬盤的0磁頭0磁道1扇區的前446字節後面接下來的64bytes的分區表進行設置,即主要是劃分起始以及結束磁頭號、扇區號和柱面號。node
(2)給磁盤分區的工具是fdisk(適合給小於2T的磁盤分區),parted(擅長給大於2T的磁盤分區,也能夠給小於2T的磁盤分區),首選fdisk,只有大於2T時纔會去選partedlinux
(3)一塊磁盤的分區表僅有64個bytes大小,每一個分區表要佔用16個字節,所以一塊磁盤支持四個分區表信息,即主分區+擴展分區的總量不超過4個。數據庫
(4)磁盤分區是按柱面進行劃分的。緩存
(5)擴展分區不能直接使用,還須要在擴展分區的基礎上建立邏輯分區才行。安全
(6)擴展分區有本身的分區表所以擴展分區下面的邏輯分區有多個。服務器
一塊硬盤的分區方式以下組合之一less
(1)任意多個主分區,但要求1<=主分區數量<=4運維
例如:一塊硬盤能夠分爲4個主分區3個主分區2個主分區或者1個主分區ide
(2)擴展分區能夠和主分區組合,但要求2<=(主分區+擴展分區)數量<=4
例如:3個主分區+1個擴展分區或者2個主分區+1個擴展分區或1個主分區+1個擴展分區。當總分區的數量大於4個的時候,必須提早分一個擴展分區。
(3)若是要分紅四個磁盤分區的話,那最多能夠有兩種:
P+P+P+P
P+P+P+E
其中的P爲主分區Primary,E爲擴展分區Extended
範例1:若是要將一塊大硬盤暫時分紅四個分區,同時,還但願有其餘的空間可讓我在將來須要的時候再進行分區,那麼該如何分區?
3P+1E剩下的空間保留
2P+1E剩下的空間保留
1P+1E剩下的空間保留
範例2:一臺機器6塊600g硬盤,raid5後總大小3T,此時沒法裝系統爲何?
系統盤大於2T是不能裝系統的
解決辦法:
方法1:作raid5後,不要重啓裝系統,而是在raid 界面,繼續分一個小的虛擬磁盤vd 200G,用這個200G的虛擬磁
盤裝系統,裝完系統後再把剩下的2.8T經過parted分區。
方法2:先拿一塊盤raid0,剩下5塊作raid5,在raid0裝系統。
方法3:裝系統時經過gpt分區格式,便可安裝系統。
範例3:假若有一塊SAS硬盤,要想把磁盤分紅6個可使用的磁盤分區,那麼每一個磁盤分區再linux系統下的數字編號是多少?
說明:
因爲硬盤在Primary+Extended最多能夠有四個,所以在linux系統下,會默認將1~4的分區編號保留下來給主分區和擴展分區使用,邏輯分區不能夠佔用1-4分區編號。
因此因爲要求的分區總數爲6個,必須有一個擴展分區,主分區能夠有1-3個,可是不管分幾個主分區邏輯分區的編號都會從5開始計算。
若是是1P+1E,則分區編號爲:/dev/sda1,/dev/sda5,/dev/sda6,/dev/sda7,/dev/sda8,/dev/sda9
若是是2P+1E,則分區編號爲:/dev/sda1,/dev/sda2,/dev/sda5,/dev/sda6,/dev/sda7,/dev/sda8
若是是3P+1E,則分區編號爲:/dev/sda1,/dev/sda2,/dev/sda3,/dev/sda5,/dev/sda6,/dev/sda7
IDE硬盤:IDE接口的硬盤稱爲/dev/hda
SATA,SAS硬盤:SCSI接口的硬盤稱爲/dev/sda
在linux系統中,是經過設備名來訪問設備的,訪問名存放在「/dev」目錄中。
設備名稱的定義規則以下,其餘的分區能夠以此類推:
系統的第一塊IDE接口硬盤稱爲/dev/hda
系統的第二塊IDE接口硬盤稱爲/dev/hdb
系統的第一塊SCSI接口硬盤稱爲/dev/sda
系統的第二塊SCSI接口硬盤稱爲/dev/sdb
每一個分區則使用磁盤名稱對應的編號表示,如:
系統的第一塊IDE接口硬盤的第1個分區稱爲/dev/hda1
系統的第二塊IDE接口硬盤的第1個分區稱爲/dev/hdb1
系統的第一塊SCSI接口硬盤的第1個分區稱爲/dev/sda1
系統的第二塊SCSI接口硬盤的第一個分區稱爲/dev/sdb1
注意:
一、分區數字編號1~4留給主分區和擴展分區,邏輯分區編號只能從5開始。
二、IDE硬盤設備名稱均以/dev/hd開頭不一樣硬盤編號以此是/dev/had、/dev/hdb。
三、SCSI/SAS/SATA/USB接口硬盤的設備名均以/dev/sd開頭,不一樣硬盤編號依次是/dev/sda,
/dev/sdb,/dev/sdc…
一、最少要有「/」根分區和swap分區。
二、swap(交換分區)的做用:虛擬內存,swap分區的大小=1.5*物理內存容量,若是內存大於8-16G做爲swap便可。
三、建議設置獨立的/boot分區。
linux引導分區,存放系統引導文件,如linux內核等,全部文件大小隻有幾十M,所以該分區設置100-200M,通常服務器的分區方式:「/boot」,「swap」「/」三個分區。
基本做用:網站數據量很大的時候,單塊盤裝單個盤存放不下了,購買多塊盤,又不想單個盤存放數據,就須要工具把全部的硬盤整合成一個大磁盤,再在這個大磁盤上分區(虛擬磁盤)存放數據。
它的另一個功能就是多塊盤放在一塊兒能夠冗餘(備份)。
1byte=8bit 1K=1024byte 1M=1024K
1G=1024M 1T=1024G 1PB=1024T
RAID有多種整合方式,RAID 0 1 5 10
有RAID卡後,通常磁盤就會插到RAID卡上,而不是直接插到主板上了。
互聯網公司服務器會自帶RAID卡(自帶主板,獨立RAID卡),RAID卡上也有緩存。
冗餘從好到壞:raid1 raid10 raid5 raid0
性能從好到壞:raid0 raid10 raid5 raid1
成本從低到高:raid0 raid5 raid1 raid10
互聯網公司:
單臺服務器,很重要可是盤很少,系統盤就用raid1。
數據庫服務器,主庫raid10,從庫raid5/raid0(爲了維護成本,raid10)。
Web服務器,若是沒有太多數據的話,raid5,raid0(單盤)。
RAID 0(條帶):寫入RAID陣列的數據被分紅了「組塊」各類組塊在構成陣列的驅動器均勻分佈。
RAID 1(鏡像模式):如同「鏡像」這一名稱暗示的同樣,在鏡像中,寫入一個磁盤的數據被複制到了第二塊磁盤上(被稱爲「鏡像磁盤」)。
RAID 4(帶校驗的條帶):linux內核支持的這種配置試圖集中前兩個RAID級別的優點:經過平行寫入數據獲取速度,而又能對損壞有着很強的可靠性。把一個額外的磁盤做爲「校驗盤」,能夠得到這種可靠性。
RAID 5(條帶+分佈校驗):RAID 5 在功能上與RAID 4 徹底同樣,可是解決了校驗盤上的瓶頸問題。RAID 5 不是專門把一塊磁盤用於校驗,而是讓校驗信息均勻地分佈在全部組成磁盤中。
RAID 10:最少四塊硬盤,將四塊硬盤分紅兩組,每兩組作RAID 1,而後兩組RAID 1作RAID 0。
LVM全稱(Logic Volume Management)邏輯卷管理,它的最大用途是能夠靈活的管理磁盤的容量,讓磁盤分區能夠隨意放大和縮小,便於更好的應用磁盤的剩餘空間,若是強調性能和備份那麼仍是應該使用raid功能,而不是LVM。
用RAID最直接的好處是:
(1)提高數據安全性。
(2)提高數據的讀寫性能。
(3)提供更大的單一邏輯磁盤數據容量存儲。
添加一塊100M的硬盤
(1)先用fdisk –l查看
[root@linzhongniao ~]# fdisk -l Disk /dev/sda: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00045e4d Device Boot Start End Blocks Id System /dev/sda1 * 1 26 204800 83 Linux Partition 1 does not end on cylinder boundary. /dev/sda2 261046 8192000 83 Linux /dev/sda310461237 1536000 82 Linux swap / Solaris /dev/sda41237261111037696 83 Linux Disk /dev/sdb: 106 MB, 106954752 bytes 64 heads, 32 sectors/track, 102 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000
(2)fdisk分區
fdisk 接磁盤設備
[root@linzhongniao ~]# fdisk /dev/sdb Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel with disk identifier 0x78ca99bb. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help):
這個地方提示:要用fdisk –cu命令
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). 警告:與dos兼容模式已被棄用。 這是強烈推薦 關閉模式(命令'c')並將顯示單元更改成 部門(命令「u」)。
(3)fdisk –cu方式分區
[root@linzhongniao ~]# fdisk -cu /dev/sdb Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel with disk identifier 0x90d74776. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) Command (m for help):
在這個地方輸入m(menu),m是菜單的意思
Command (m for help): m Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition l list known partition types m print this menu n add a new partition 《==添加一個分區 o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun disklabel t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only)
按n建立分區
按e建立擴展分區:分區方式錯誤演示
輸入p查看分區
這就不能建立擴展分區了由於沒有e,要先建立主分區,擴展分區最多不能超過3個。
(3)建立分區先建立主分區再建立擴展分區
建立主分區
[root@linzhongniao ~]# fdisk -cu /dev/sdb Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel with disk identifier 0xc6e370f5. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) Command (m for help): m Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition《==刪除一個分區 l list known partition types 《==查看分區類型及對應的id m print this menu 《==打印菜單 n add a new partition 《=建立分區 o create a new empty DOS partition table p print the partition table 《=打印分區表信息 q quit without saving changes《==退出不保存 s create a new empty Sun disklabel t change a partition's system id《==改變分區系統的ID建立swap分區 u change display/entry units v verify the partition table w write table to disk and exit《==保存並退出,沒有動數據,動的是64位字節分區表 x extra functionality (experts only) Command (m for help): n Command action e extended p primary partition (1-4)這裏按p建立主分區 p Partition number (1-4):
輸入1,會看到第一分區的起始位置默認設計從2048開始的,直接敲回車默認建立的分區從2048開始。
Partition number (1-4): 1 First sector (2048-208895, default 2048):
而後能夠給結束的扇區也能夠用「+」加號,這裏咱們加10M
接着用上面的方法建立一個編號爲2的主分區,大小爲10兆
Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 2 First sector (22528-208895, default 22528): Using default value 22528 Last sector, +sectors or +size{K,M,G} (22528-208895, default 208895): +10M Command (m for help): P Disk /dev/sdb: 106 MB, 106954752 bytes 64 heads, 32 sectors/track, 102 cylinders, total 208896 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xc6e370f5 Device Boot Start End Blocks Id System /dev/sdb12048 22527 10240 83 Linux /dev/sdb2 22528 43007 10240 83 Linux
好下來咱們建立2個10M的主分區,共建立四個主分區,再接着建立分區會怎麼樣?會提示您必須刪除一些分區,並首先添加一個擴展分區。「You must delete some partition and add an extended partition first」 由於擴展能夠分多個,主分區只能分四個這是受分區表控制的。
刪除分區用d
好上面已經分了三個主分區了,把剩下的分區都給擴展分區,輸入n,按e直接按回車
建立邏輯分區,分區編號從5開始
若是想用LVM就要查看分區類型了,默認的linux分區是83,而LVM的分區類型是8e
創建LVM(邏輯卷)類型的分區就要改變分區系統類型的ID了,以下所示建立LVM類型分區
Command (m for help): t Partition number (1-5): 5 Hex code (type L to list codes): 8e Changed system type of partition 5 to 8e (Linux LVM) Command (m for help): p Disk /dev/sdb: 106 MB, 106954752 bytes 64 heads, 32 sectors/track, 102 cylinders, total 208896 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x3202f5e9 Device Boot Start End Blocks Id System /dev/sdb12048 22527 10240 83 Linux /dev/sdb2 22528 43007 10240 83 Linux /dev/sdb3 43008 63487 10240 83 Linux /dev/sdb4 63488 208895 727045 Extended /dev/sdb5 65536 86015 10240 8e Linux LVM 保存按w寫入分區表 Command (m for help): p Disk /dev/sdb: 106 MB, 106954752 bytes 64 heads, 32 sectors/track, 102 cylinders, total 208896 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x3202f5e9 Device Boot Start End Blocks Id System /dev/sdb12048 22527 10240 83 Linux /dev/sdb2 22528 43007 10240 83 Linux /dev/sdb3 43008 63487 10240 83 Linux /dev/sdb4 63488 208895 727045 Extended /dev/sdb5 65536 86015 10240 8e Linux LVM Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
用partprobe命令通知系統內核分區已經改變
[root@linzhongniao ~]# cat fdisk.txt n p 1 +10M w q [root@linzhongniao ~]# fdisk /dev/sdb<fdisk.txt
a.linux下最經常使用的分區工具,通常是裝完系統後進行分區,裝系統以前的分區都用系統ISO裏面的工具分,或者raid裏的分小磁盤。
b.fdisk只能root權限用戶使用。
c.fdisk適合於對裝系統後的剩餘空間進行分區,例如:安裝系統時沒有所有分區,或者安裝系統後添加分區。
d.不能對於大於2T的文件系統進行分區
e.fdisk分區的實質是修改0磁頭0磁道1扇區的前446字節以後的64字節的分區表信息,不破壞數據。可使用fdisk分區的磁盤大小必須小於2T,若是大於2T或者小於2T的,分區要用parted
查看分區用fdisk –l
[root@linzhongniao ~]# fdisk -l Disk /dev/sda: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00045e4d Device Boot Start End Blocks Id System /dev/sda1 * 1 26 204800 83 Linux Partition 1 does not end on cylinder boundary. /dev/sda2 261046 8192000 83 Linux /dev/sda310461237 1536000 82 Linux swap / Solaris /dev/sda41237261111037696 83 Linux Disk /dev/sdb: 106 MB, 106954752 bytes 64 heads, 32 sectors/track, 102 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x3202f5e9 Device Boot Start End Blocks Id System /dev/sdb1 2 11 10240 83 Linux /dev/sdb2 12 21 10240 83 Linux /dev/sdb3 22 31 10240 83 Linux /dev/sdb4 32 102 727045 Extended /dev/sdb5 33 42 10240 8e Linux LVM
也能夠查看/proc/partitions文件
[root@linzhongniao ~]# cat /proc/partitions major minor #blocks name 80 20971520 sda 81 204800 sda1 828192000 sda2 831536000 sda3 84 11037696 sda4 8 16 104448 sdb 8 17 10240 sdb1 8 18 10240 sdb2 8 19 10240 sdb3 8 20 1 sdb4 8 21 10240 sdb5
傳統的MBR分區方式,有一個侷限:
沒法使用超過2T的硬盤的分區(或單個分區超過2T),若是大於2T就要用GPT分區的理念。
parted的操做都是實時的也就是說執行了一個分區命令,他就實實在在的分區了,而不像是fdisk那樣按w才建立分區。
實驗:準備一塊100M的盤
(1)交互式分區
[root@linzhongniao ~]# parted /dev/sdb GNU Parted 2.1 Using /dev/sdb Welcome to GNU Parted! Type 'help' to view a list of commands. (parted)
輸入help看相關的命令
Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) help align-check TYPE Ncheck partition N for TYPE(min|opt) alignment check NUMBER do a simple check on the file system cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another partition help [COMMAND] print general help, or help on COMMAND mklabel,mktable LABEL-TYPE create a new disklabel (partition table) mkfs NUMBER FS-TYPE make a FS-TYPE file system on partition NUMBER mkpart PART-TYPE [FS-TYPE] START END make a partition mkpartfs PART-TYPE FS-TYPE START END make a partition with a file system move NUMBER START ENDmove partition NUMBER name NUMBER NAME name partition NUMBER as NAME print [devices|free|list,all|NUMBER] display the partition table, available devices, free space, all found partitions, or a particular partition quit exit program rescue START END rescue a lost partition near START and END resize NUMBER START END resize partition NUMBER and its file system rm NUMBERdelete partition NUMBER select DEVICEchoose the device to edit set NUMBER FLAG STATEchange the FLAG on partition NUMBER toggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBER unit UNITset the default unit to UNIT version display the version number and copyright information of GNU Parted
先調一下分區的類型改爲gpt,修改分區類型用mklabel命令
(parted) mklabel gpt Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue? Yes/No? yes
建立一個10M主分區
(parted) mkpart primary 0 10 Warning: The resulting partition is not properly aligned for best performance. Ignore/Cancel? Ignore (parted) p Model: VMware, VMware Virtual S (scsi) Disk /dev/sdb: 107MB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End SizeFile system Name Flags 1 17.4kB 10.0MB 9983kB primary `(parted)`
分一個10M交換分區swap
(parted) mkpart primary linux-swap 11 21 Warning: The resulting partition is not properly aligned for best performance. Ignore/Cancel? Ignore (parted) p Model: VMware, VMware Virtual S (scsi) Disk /dev/sdb: 107MB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End SizeFile system Name Flags 1 17.4kB 10.0MB 9983kB primary 2 11.0MB 21.0MB 10.0MB primary
分一個10M的邏輯分區(這個地方比較特殊不用建立擴展分區)
(parted) mkpart logical ext4 22 32 Warning: The resulting partition is not properly aligned for best performance. Ignore/Cancel? Ignore (parted) p Model: VMware, VMware Virtual S (scsi) Disk /dev/sdb: 107MB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End SizeFile system Name Flags 1 17.4kB 10.0MB 9983kB primary 2 11.0MB 21.0MB 10.0MB primary 3 22.0MB 32.0MB 10.0MB logical
刪除分區,用rm
提示:咱們只關注mkpart命令和rm刪除分區命令便可
(parted) p Model: VMware, VMware Virtual S (scsi) Disk /dev/sdb: 107MB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End SizeFile system Name Flags 1 17.4kB 10.0MB 9983kB primary 2 11.0MB 21.0MB 10.0MB primary 3 22.0MB 32.0MB 10.0MB logical (parted) rm 3 (parted) p Model: VMware, VMware Virtual S (scsi) Disk /dev/sdb: 107MB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End SizeFile system Name Flags 1 17.4kB 10.0MB 9983kB primary 2 11.0MB 21.0MB 10.0MB primary
(2)非交互式建立分區
parted /dev/sdb mklabel gpt yes parted /dev/sdb mkpart primary 0 10 Ignore parted /dev/sdb mkpart primary linux-swap 11 12 Ignore parted /dev/sdb mkpart logical ext4 22 32 Ignore parted /dev/sdb p
演示:
[root@linzhongniao ~]# parted /dev/sdb mklabel gpt yes Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue? Information: You may need to update /etc/fstab. [root@linzhongniao ~]# parted /dev/sdb mkpart primary 0 10 Ignore Warning: The resulting partition is not properly aligned for best performance. Information: You may need to update /etc/fstab. [root@linzhongniao ~]# parted /dev/sdb mkpart primary linux-swap 11 12 Ignore Warning: The resulting partition is not properly aligned for best performance. Information: You may need to update /etc/fstab. [root@linzhongniao ~]# parted /dev/sdb mkpart logical ext4 22 32 Ignore Warning: The resulting partition is not properly aligned for best performance. Information: You may need to update /etc/fstab. [root@linzhongniao ~]# parted /dev/sdb p Model: VMware, VMware Virtual S (scsi) Disk /dev/sdb: 107MB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End SizeFile system Name Flags 1 17.4kB 10.0MB 9983kB primary 2 11.0MB 12.0MB 1000kB primary 3 22.0MB 32.0MB 10.0MB logical
可使用一個分區構建swap,也可使用dd建立一個swap
[root@linzhongniao ~]# fdisk -cu /dev/sdb 分紅一個區/dev/sdb1 用mkswap格式化分區命令,把普通分區/dev/sdb1格式化成swap分區
查看一下內存
添加swap分區
關掉swap分區
swapoff /dev/sdb1
dd的只是一個特殊文件,它佔用磁盤的分區
[root@linzhongniao ~]# dd if=/dev/zero of=/tmp/swap bs=1M count=128 128+0 records in 128+0 records out 134217728 bytes (134 MB) copied, 1.8708 s, 71.7 MB/s [root@linzhongniao ~]# ls -lh /tmp/swap -rw-r--r--. 1 root root 128M Jul 19 20:30 /tmp/swap
格式化分區
添加swap分區
[root@linzhongniao ~]# swapon /tmp/swap
企業案例場景:
swap在工做中,特別是java環境,程序寫的有問題,會發生內存泄露,swap分區可能會被佔用。
解決辦法:
讓開發改程序,運維臨時加大swap分區,就是用上面的方法。不用重啓系統能夠先用swapoff,再用swapon。
inode是當磁盤備份區格式化的時候誕生的,格式化分區的實質是建立文件系統,對於ext一、二、三、4文件系統格式化以後就會生成必定數量的inode和block。
(1)分區與文件系統的關係
經過fdisk命令對一個磁盤進行分區後,並不能直接掛在目錄存放數據實體,還須要進行格式化操做,才能進行掛載並存放數據。
爲何須要格式化呢?這是由於磁盤分區在沒有格式化以前,操做系統是沒法識別系統上磁盤分區格式的,也就沒法存取文件目錄屬性和權限等內容。分區就至關於給房子打隔斷並不破壞數據,文件系統就是裝修。
(2)ext2的文件系統細節
操做系統中的數據分爲文件內容和文件屬性兩部分,文件系統內容就是文件的實體數據(block裏面),而文件屬性就是文件類型、權限、屬主、修改信息等,還包括一個指針。
文件系統會將文件的屬性內容存放到磁盤系統的inode中。操做系統還會記錄文件系統的總體信息與superblock(存放文件系統的元數據信息)中,這個superblock包括整個文件系統的inode和block的總的數量。
(3)什麼是文件系統
文件系統就是一種存儲和組織計算機數據文件的機制或方法,它使得對計算機文件系統內數據的訪問和查找變得更容易、簡單,如ext二、ext三、ext四、xfs(Centos 7.x)、zfs和nfs都是文件系統。
這些內容均可以用dumpe2fs來查看
[root@linzhongniao ~]# dumpe2fs /dev/sdb1|less
超級組塊記錄的信息:
超級塊:記錄文件系統的控制和管理信息
block和inode的個數和大小,及其已用和未用數量
文件系統的載入時間、最近一次寫入數據的時間、最近一次執行fsck進行磁盤檢查的時間等。
有效位:爲0已載入,爲1未載入
組描述:記錄本塊組從何處開始
塊位示圖:使用位示圖記錄inode的使用狀況。
inode區:各inode組成的區域,每一個inode都有一個惟一編號
數據塊區:各block組成的區域,用於存放文件數據
SAS/STAT硬盤文件系統選擇:
a.xfs有關門戶的數據庫MySQL的業務
b.ext4 視頻,流媒體。數據庫,小文件業務也能夠,能夠用默認的
c.ext2 沒有日誌,藍汛的cache業務,CDN網站加速服務的
常規應用:
對於Centos5.x系列,常規應用就選默認的ext3文件系統便可。
對於Centos6.x系列,常規應用就選默認的ext3文件系統便可。
對於Centos7.x系列,常規應用就選默認的xfs文件系統便可。
查看支持的文件系統的格式
[root@linzhongniao ~]# ls /lib/modules/`uname -r`/kernel/fs autofs4 configfs exportfs fat jbdmbcache.ko nls xfs btrfs cramfsext2 fscache jbd2 nfs squashfs cachefiles dlm ext3 fuse jffs2 nfs_common ubifs cifsecryptfs ext4 gfs2 lockd nfsdudf
操做系統支持不表明文件系統軟件已經安裝了,格式化不支持mkfs;那就須要安裝文件系統軟件
[root@linzhongniao ~]# mkfs mkfs mkfs.ext2 mkfs.ext4 mkfs.msdos mkfs.cramfs mkfs.ext3 mkfs.ext4dev mkfs.vfat
格式化命令mkfs參數:
-b 指定塊設備大小默認是4096
-i 指定inode大小默認是256
-t 指定文件系統至關於mkfs.ext4(2或3)
[root@linzhongniao ~]# mkfs mkfs mkfs.ext2 mkfs.ext4 mkfs.msdos mkfs.cramfs mkfs.ext3 mkfs.ext4dev mkfs.vfat
格式化完成以後會出現下面內容,執行下面命令
tune2fs –c -1 /dev/…
掛載:mount
參數:
-t 指定文件系統類型
磁盤與目錄的容量:df du
df:列出文件系統的整個磁盤使用量
du:評估文件系統的磁盤使用量(經常使用於評估目錄所佔容量)
(1)將掛載後容量結果以易讀的容量格式顯示出來查看的是block:df –h
(2)將掛載後的各個分區中可用的inode數量列出:df –ih
(3)df –hT,查看掛載狀況,顯示文件系統類型
(4)查看/proc/mounts文件也能夠查看掛載狀況
(5)查看分區查看/proc/partitions文件
(6)查看文件系統的內部細節 dumpe2fs /dev/sdb1
(7)磁盤檢查用fsck(ext2文件系統用e2fsck),當磁盤出現故障了可當作磁盤檢查,可是注意:沒壞的磁盤必定不要用,通常是機器起不來了,磁盤有壞道。fsck –C –f ext3 /dev/sdb1
(8)tune2fs 列出/dev/sdb1的super block內容。tune2fs –l(小寫的L) /dev/sdb1
(9)查看磁盤設備的UID 和文件系統類型,blkid /dev/sdb1
(10)megacli查看raid的信息,監控raid會用到
(11)ipmitools 查看硬件信息的工具,監控硬件的時候會用到
(12)resize2fs調整文件系統的大小(LVM,drbd擴容)
將/dev/sdb1每次開機自動掛載/tmp/sdb1
編輯/etc/fstab
[root@linzhongniao ~]# tail -1 /etc/fstab UUID=d9e7daa8-34f0-4b9a-825b-e2aa49a03921 /tmp/sdb1 ext4 defaults 0 0
寫入:/dev/sdb1(掛載的設備也能夠是UID,用blkid查看) /tmp/sdb1(掛載點) ext4(文件系統類型) dufaults(掛載的參數選項) 0(是否備份,設置成 1或2備份) 0(是否開機檢查,至關於fsck)