linux學習筆記-磁盤分區、格式化與掛載
磁盤分區、格式化與掛載
磁盤分區、格式化與掛載
一、給磁盤分區
分區工具介紹
fdisk:分區時只修改分區表信息;操作簡單;不支持大於2T的分區;只能使用交互式來分區。
parted:直接將分區信息寫入磁盤;操作比較復雜;支持大於2T的分區,並且允許調整分區的大小;可以使用交互式或非交互式進行分區。
1、fdisk分區過程
1)選擇所需要分區的硬盤:fdisk -uc /dev/xvdb
[[email protected] ~]# fdisk -uc /dev/xvdb #<==-uc是分區參數,如果不加會有警告;/dev/xvdb是需要分區的磁盤 Device contains neither a valid DOSpartition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel with diskidentifier 0x12c129c5. Changes will remain in memory only,until you decide to write them. After that, of course, the previouscontent won‘t be recoverable. Warning: invalid flag 0x0000 ofpartition table 4 will be corrected by w(rite) Command (m for help):
2)打印fdisk的功能菜單:m
Command (m for help): m Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibilityflag d delete a partition #<==刪除一個已有分區 l listknown partition types #<==打印分區類型 m print this menu #<==打印這個功能菜單 n add a new partition #<==添加一個新分區 o create a new empty DOSpartition table p print the partition table #<==打印分區表 q quit without saving changes #<==不保存退出 s create a new empty Sundisklabel t change a partition‘s system id #<==修改分區的ID號(改變分區類型) u change display/entry units v verify the partition table w write table to disk and exit #<==保存退出 x extra functionality (expertsonly)
3)添加一個新的分區:n
註意:
主分區和拓展分區最多有4個(因為分區表只有64字節,一個分區會占用16字節)
擴展分區之後還要建立邏輯分區才能使用(邏輯分區可以有多個)
無論主分區和擴展分區有多少個,邏輯分區的分區號都是從5開始的
Command (m for help): n Command action e extended #<==e表示新建一個擴展分區 p primary partition (1-4) #<==p表示新建一個主分區
4)新建一個主分區(擴展分區和邏輯分區同理):p
p #<==如果是擴展分區就選e,邏輯分區選l Partition number (1-4): #<==選擇主分區號(1~4)
5)選擇分區號:1(是第幾個主分區就選幾)
Partition number (1-4): 1 First sector (2048-20971519, default2048): #<==選擇起始的扇區,默認是2048
6)選擇起始扇區:直接回車選擇默認
First sector (2048-20971519, default2048): Using default value 2048 Last sector, +sectors or +size{K,M,G}(2048-20971519, default 20971519): #<==選擇結束扇區,可以通過+size設置大小,默認到最後一個扇區
7)設置分區大小:+10M
Last sector, +sectors or +size{K,M,G} (2048-20971519,default 20971519): +10M Command (m for help):
8)打印分區表信息:p
Command (m for help): p Disk /dev/xvdb: 10.7 GB, 10737418240bytes 255 heads, 63 sectors/track, 1305cylinders, total 20971520 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512bytes / 512 bytes I/O size (minimum/optimal): 512 bytes /512 bytes Disk identifier: 0x12c129c5 Device Boot Start End Blocks Id System /dev/xvdb1 2048 22527 10240 83 Linux #<==已建好分區
9)保存退出:w
Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partitiontable. Syncing disks.
10)分區完成之後,使用partprobe命令將分區信息加載到內核
[[email protected] ~]# partprobe /dev/xvdb
註:如果分區過程中輸入錯誤,可以使用快捷鍵Ctrl+u退回
2、parted分區過程
parted用於對磁盤(或RAID磁盤)進行分區及管理,與fdisk分區工具相比,支持2TB以上的磁盤分區,並且允許調整分區的大小。可以使用交互式或者非交互式來為磁盤分區。
交互式分區:
1)選擇所需要用parted分區的磁盤:parted/dev/xvdb
[[email protected] ~]# parted /dev/xvdb GNU Parted 2.1 Using /dev/xvdb Welcome to GNU Parted! Type ‘help‘ toview a list of commands. (parted)
2)查看幫助:help
(parted) help align-check TYPE N check 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 onpartition 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 END move 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 NUMBER delete partition NUMBER select DEVICE choose the device to edit set NUMBER FLAG STATE change the FLAG on partition NUMBER toggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBER unit UNIT set the default unit to UNIT version display the version number and copyright information of GNU Parted
3)定義分區表格式:mklabel gpt (常用的有msdos和gpt格式,msdos不支持2T以上容量的磁盤,所以大於2TB的磁盤選擇gpt分區格式)
(parted) mklabel gpt Warning: The existing disk label on/dev/xvdb will be destroyed and all data on this disk will be lost. Do you want to continue? Yes/No? yes (parted)
4)創建分區,名稱為p1:mkpart p1
(parted) mkpart p1 File system type? [ext2]?
5)定義分區格式:ext2|ext3|ext4 ----centos6默認為ext4了,centos7是xfs
File system type? [ext2]? ext4 Start?
6)定義分區起始位置(單位支持K,M,G,T)
7)定義分區結束位置(單位支持K,M,G,T)
Start? 1 End? 10M
8)查看當前分區情況:print
(parted) print Model: Xen Virtual Block Device (xvd) Disk /dev/xvdb: 10.7GB Sector size (logical/physical):512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 1049kB 10.5MB 9437kB p1
9)以上步驟也結合為一個指令
mkpart primary 0 10
mkpart primary linux-swap 11 21 Ignore
mkpart logical ext4 22 32 Ignore
(parted) mkpart p1 0 10 Ignore Warning: The resulting partition is notproperly aligned for best performance. (parted) mkpart p2 linux-swap 11 21Ignore Warning: The resulting partition is notproperly aligned for best performance. (parted) mkpart logical ext4 22 32Ignore Warning: The resulting partition is notproperly aligned for best performance. (parted) print Model: Xen Virtual Block Device (xvd) Disk /dev/xvdb: 10.7GB Sector size (logical/physical):512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 17.4kB 10.0MB 9983kB p1 2 11.0MB 21.0MB 10.0MB p2 3 22.0MB 32.0MB 10.0MB logical
10)刪除分區:rm
(parted) rm Partition number? 1
二、擴容swap分區
swap分區,即緩存交換空間,當計算機內存用完時,會用到這部分交換空間,否則服務器就不能正常工作。
新建物理分區擴容swap
1)初始的swap空間
[[email protected] ~]# free -m total used free shared buffers cached Mem: 980 88 891 0 7 25 -/+ buffers/cache: 55 924 Swap: 2047 0 2047
2)利用fdisk或者parted新建一個磁盤分區
Command (m for help): p Disk /dev/sdb: 2147 MB, 2147483648 bytes 255 heads, 63 sectors/track, 261cylinders Units = cylinders of 16065 * 512 =8225280 bytes Sector size (logical/physical): 512bytes / 512 bytes I/O size (minimum/optimal): 512 bytes /512 bytes Disk identifier: 0x393390bf Device Boot Start End Blocks Id System /dev/sdb1 1 261 2096451 83 Linux
3)將該分區格式化成swap分區:mkswap
[[email protected] ~]# mkswap /dev/sdb1 Setting up swapspace version 1, size =2096444 KiB no label,UUID=d04b54dc-f068-4563-9a0d-33bacca1d4d5
4)將新建的分區加入swap內存中:swapon
[[email protected] ~]# swapon /dev/sdb1 [[email protected] ~]# free -m total used free shared buffers cached Mem: 980 90 890 0 7 25 -/+ buffers/cache: 57 923 Swap: 4095 0 4095
5)刪除新增的swap分區:swapoff
[[email protected] ~]# swapoff /dev/sdb1 [[email protected] ~]# free -m total used free shared buffers cached Mem: 980 89 891 0 7 25 -/+ buffers/cache: 56 924 Swap: 2047 0 2047
使用文件構建swap
1)構建一個大小為2G的文件:ddif=/dev/zert of=/tmp/swap bs=1G count=2
[[email protected] ~]# dd if=/dev/zert of=/tmp/swap bs=1G count=2 [[email protected] ~]# ls -lh /tmp/swap -rw-r--r-- 1 root root 2.0G Oct 14 11:45/tmp/swap
2)格式化文件為swap分區
[[email protected] ~]# mkswap /tmp/swap mkswap: /tmp/swap: warning: don‘t erasebootbits sectors on whole disk. Use -f to force. Setting up swapspace version 1, size =2097148 KiB no label,UUID=c8c89301-83ec-436d-9101-718ec5e401c9
3)將新建的分區加入swap內存中:swapon
[[email protected] ~]# swapon /tmp/swap [[email protected] ~]# free -m total used free shared buffers cached Mem: 980 79 901 0 5 21 -/+ buffers/cache: 52 928 Swap: 4095 3 4092
4)刪除新增的swap分區:swapoff
[[email protected] ~]# swapoff /tmp/swap [[email protected] ~]# free -m total used free shared buffers cached Mem: 980 78 902 0 5 21 -/+ buffers/cache: 51 929 Swap: 2047 3 2044
三、格式化文件系統
新建硬盤分區之後,需要對硬盤進行格式化操作,以創建相應的文件系統,格式化過程如下:
1)查看系統支持的文件系統格式
[[email protected] ~]# ls/lib/modules/`uname -r`/kernel/fs autofs4 cachefiles configfs dlm exportfs ext3 fat fuse jbd jffs2 mbcache.ko nfs_common nls ubifs xfs btrfs cifs cramfs ecryptfs ext2 ext4 fscache gfs2 jbd2 lockd nfs nfsd squashfs udf
2)格式化成ext4系統
ext4是centos6系列默認的文件系統
[[email protected] ~]# mkfs -t ext4 -b 4096 -I 256 /dev/sdb1 mke2fs 1.41.12 (17-May-2010) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 4016 inodes, 4008 blocks 200 blocks (4.99%) reserved for the super user First data block=0 1 block group 32768 blocks per group, 32768 fragments per group 4016 inodes per group Writing inode tables: done Creating journal (1024 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 26 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.
3)設置不檢查
[[email protected] ~]# tune2fs -c -1 /dev/sdb1 tune2fs 1.41.12 (17-May-2010) Setting maximal mount count to -1
四、掛載磁盤到服務器
1)磁盤格式化完畢之後,需要掛載到系統目錄才能使用,掛載命令如下:
[[email protected] ~]# mount /dev/sdb1 /mnt [[email protected] ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda3 18G 3.8G 13G 23% / tmpfs 491M 0 491M 0% /dev/shm /dev/sda1 194M 29M 155M 16% /boot /dev/sdb1 2.0G 35M 1.9G 2% /mnt3.6.3
2)取消掛載:
[[email protected] ~]# umount /dev/sdb1 [[email protected] ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda3 18G 3.8G 13G 23% / tmpfs 491M 0 491M 0% /dev/shm /dev/sda1 194M 29M 155M 16% /boot
3)掛載CD或DVD光盤
mount -t iso9660 /dev/cdrom /mnt #<==iso9660是光盤的格式
4)設置開機自動掛載
設置開機掛載文件非常有用,如果沒有設置,可能有些用到磁盤的服務就無法正常工作。
開機掛載硬盤文件:/etc/fstab
在文件末尾寫入:/dev/sdb1 /mnt ext3 dufaults 0 0
[[email protected] ~]# cat /etc/fstab # # /etc/fstab # Created by anaconda on Wed Aug 2 07:12:45 2017 # # Accessible filesystems, by reference, are maintained under ‘/dev/disk‘ # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # UUID=e04ab670-2f2e-41de-906b-4067e2fa509e / ext4 defaults 1 1 UUID=c1fa18da-eacd-40b2-8046-7dbc584825c2 /boot ext4 defaults 1 2 UUID=0a1c2136-c98c-4c5b-bf12-a4ba2a6744cc swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0
第一列:磁盤設備文件或者該設備的Label,UUID
第二列:設備的掛載點
第三列:文件系統的格式,包括ext2,ext3,ext4,reiserfs,nfs等
第四列:文件系統參數,一般選擇默認defaults
Async/sync | 設置是否為同步方式運行,默認為async |
auto/noauto | 當下載mount -a 的命令時,此文件系統是否被主動掛載。默認為auto |
rw/ro | 是否以以只讀或者讀寫模式掛載 |
exec/noexec | 限制此文件系統內是否能夠進行"執行"的操作 |
user/nouser | 是否允許用戶使用mount命令掛載 |
suid/nosuid | 是否允許SUID的存在 |
Usrquota | 啟動文件系統支持磁盤配額模式 |
Grpquota | 啟動文件系統對群組磁盤配額模式的支持 |
Defaults | 同事具有rw,suid,dev,exec,auto,nouser,async等默認參數的設置 |
0 | 代表不要做dump備份 |
1 | 代表要每天進行dump的操作 |
2 | 代表不定日期的進行dump操作 |
第六列:是否開機檢查扇區,一般不檢查,選0
0 | 不要檢驗 |
1 | 最早檢驗(一般根目錄會選擇) |
2 | 1級別檢驗完成之後進行檢驗 |
至此,磁盤的分區,格式化,掛載完畢!
linux學習筆記-磁盤分區、格式化與掛載