先養(yǎng)養(yǎng)眼 1.創(chuàng)建分區(qū):fdisk工具用來幫助管理安裝在系統(tǒng)上的任何存儲設(shè)備的分區(qū)。它是交互式程序,允許你輸入命令來逐步完成硬盤分區(qū)操作。使用它需要有超級用戶權(quán)限和指定要分區(qū)的存儲設(shè)備的設(shè)備名。Linux采用了一種標(biāo)準(zhǔn)格式來為硬盤分配設(shè)備名稱。對于老式的IDE驅(qū)動器,Linux使用的是/dev/hdx。其中x表示一個字母,從a開始(第一個驅(qū)動器是a,第二個驅(qū)動器是b)。對于SATA驅(qū)動器和SCSI驅(qū)動器,Linux使用的是/dev/sdx。root@wsx-ubuntu:/home/wsx# fdisk? /dev/sdsda? sda1? sda2? sda3? sda4? sda5? sda6? sdb? sdb1? sdb2? sdb3? sdb4root@wsx-ubuntu:/home/wsx# fdisk? /dev/sdaWelcome to fdisk (util-linux 2.27.1).Changes will remain in memory only, until you decide to write them.Be careful before using the write command.命令(輸入 m 獲取幫助): p #顯示分區(qū)詳細(xì)信息Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectorsUnits: sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 4096 bytesI/O size (minimum/optimal): 4096 bytes / 4096 bytesDisklabel type: gptDisk identifier: 273EEEA8-0192-4208-BB82-74914AEB9E17設(shè)備? ? ? ? ? ? Start? ? 末尾? ? 扇區(qū)? Size 類型/dev/sda1? ? ? ? 2048? 485517311 485515264 231.5G Microsoft basic data/dev/sda2? 485517312 1329291263 843773952 402.4G Microsoft basic data/dev/sda3? 1534093312 1953521663 419428352? 200G Microsoft basic data/dev/sda4? 1329291264 1330341887? 1050624? 513M EFI System/dev/sda5? 1330341888 1517514751 187172864? 89.3G Linux filesystem/dev/sda6? 1517514752 1534093311? 16578560? 7.9G Linux swapPartition table entries are not in disk order.命令(輸入 m 獲取幫助): m? #顯示幫助和各命令含義Help:Genericd? delete a partitionF? list free unpartitioned spacel? list known partition typesn? add a new partitionp? print the partition tablet? change a partition typev? verify the partition tablei? print information about a partitionMiscm? print this menux? extra functionality (experts only)ScriptI? load disk layout from sfdisk script fileO? dump disk layout to sfdisk script fileSave & Exitw? write table to disk and exitq? quit without saving changesCreate a new labelg? create a new empty GPT partition tableG? create a new empty SGI (IRIX) partition tableo? create a new empty DOS partition tables? create a new empty Sun partition table通過n我們可以創(chuàng)建新的分區(qū),分區(qū)可以按主分區(qū)或擴(kuò)展分區(qū)創(chuàng)建。2.創(chuàng)建文件系統(tǒng)將數(shù)據(jù)存儲到分區(qū)之前,我們必須用某種文件系統(tǒng)對其進(jìn)行格式化,這樣Linux才能使用它。我們在使用Windows常見的為NTFS文件系統(tǒng)。創(chuàng)建文件系統(tǒng)的命令行程序3.工具用途mkefs創(chuàng)建一個ext文件系統(tǒng)mke2fs創(chuàng)建一個ext2文件系統(tǒng)mkfs.ext3創(chuàng)建一個ext3文件系統(tǒng)mkfs.ext4創(chuàng)建一個ext4文件系統(tǒng)mkreiserfs創(chuàng)建一個ReiserFS文件系統(tǒng)jfs_mkfs創(chuàng)建一個JFS文件系統(tǒng)mkfs.xfs創(chuàng)建一個XFS文件系統(tǒng)mkfs.zfs創(chuàng)建一個ZFS文件系統(tǒng)mkfs.btrfs創(chuàng)建一個Btrfs文件系統(tǒng)注意,并非所有的命令工具都默認(rèn)安裝了,我們可以通過type命令4.查詢:root@wsx-ubuntu:/home/wsx# type mkfs.ext4mkfs.ext4 是 /sbin/mkfs.ext4root@wsx-ubuntu:/home/wsx# type mkfs.btrfsbash: type: mkfs.btrfs: 未找到所有的系統(tǒng)命令都允許通過不帶選項(xiàng)的簡單命令來創(chuàng)建一個默認(rèn)的文件系統(tǒng),比如Ubuntu中用的ext4:$sudo mkfs.ext4 /dev/sdb1為分區(qū)創(chuàng)建了文件系統(tǒng)之后,下一步是將它掛載到虛擬目錄的某個掛載點(diǎn),這樣就可以將數(shù)據(jù)存儲在新文件系統(tǒng)中了。我們可以將文件系統(tǒng)掛載到虛擬目錄中需要額外空間的任何位置。$ls /mnt$sudo mkdir /mnt/my_partition$ls -al /mnt/my_partition$$ls -dF /mnt/my_partition/mnt/my_partition/$sudo mount -t ext4 /dev/sdb1 /mnt/my_partition#指明掛載及文件類型$ls -al /mnt/my_partition這種方式效果為臨時掛載,我們可以將其添加到/etc/fstab文件中讓系統(tǒng)自動掛載。5.文件系統(tǒng)的檢查和修復(fù)fsck命令能夠檢查和修復(fù)大部分類型的Linux文件系統(tǒng)。命令格式為fsck options filesystem可以列出多個要檢查的文件系統(tǒng)。文件系統(tǒng)可以通過設(shè)備名、在虛擬目錄中的掛載點(diǎn)以及分配給文件系統(tǒng)的唯一UUID值來引用。6.選項(xiàng)參考Emergencyhelp: -pAutomaticrepair(noquestions) -n? ? ? ? ? ? ? ? ? Makenochangestothe filesystem -y? ? ? ? ? ? ? ? ? Assume"yes"toall questions -cCheckforbad blocksandaddthemtothe badblocklist-fForcechecking eveniffilesystemismarked clean -v? ? ? ? ? ? ? ? ? Be verbose -b superblockUsealternative superblock -BblocksizeForceblocksizewhenlookingforsuperblock -j external_journalSetlocationoftheexternaljournal -l bad_blocks_fileAddtobadblockslist-L bad_blocks_fileSetbadblockslist只能在未掛載的文件系統(tǒng)上運(yùn)行fsck命令。當(dāng)我們需要檢查掛載了的文件系統(tǒng)時,我們系統(tǒng)先卸載該文件系統(tǒng),檢查后重新掛載即可。7.邏輯卷管理Linux邏輯卷管理器(LVM)軟件包可以將另一個硬盤上的分區(qū)加入已有的文件系統(tǒng),動態(tài)地添加硬盤空間。它可以讓我們在無需重建整個文件系統(tǒng)的情況下,輕松地管理磁盤空間。邏輯卷管理的核心在于如何處理安裝在系統(tǒng)上的硬盤分區(qū)。在邏輯卷管理的世界里,硬盤分區(qū)稱作物理卷(PV)。每個物理卷都會映射到硬盤上特定的物理分區(qū)。多個物理卷集中在一起可以形成一個卷組(VG)。整個結(jié)構(gòu)中的最后一層是邏輯卷(LV)。邏輯卷為Linux提供了創(chuàng)建文件系統(tǒng)的分區(qū)環(huán)境,作用類似于Linux中的物理硬盤分區(qū)。Linux系統(tǒng)將邏輯卷視為物理分區(qū)。上面理解來說,我們實(shí)際的物理硬盤可以分為不同的物理分區(qū),這些分區(qū)對應(yīng)著物理卷的概念,所有的物理卷形成了一個卷組。這個卷組為邏輯分區(qū)提供了一個平臺,我們可以根據(jù)需求把卷組劃分為不同的邏輯分區(qū),它們對應(yīng)著掛載在系統(tǒng)上的文件目錄。對于linux系統(tǒng)而言,邏輯卷就是它進(jìn)行文件操作的“物理分區(qū)”,而實(shí)際上,這些分區(qū)由真實(shí)的物理卷映射而成。Linux中的LVMLinux中的LVM有兩個版本:LVM1: 只能用于Linux內(nèi)核版本2.4,它僅提供基本的邏輯卷管理功能LVM2: LVM的更新版本,可以適用于Linux內(nèi)核版本2.6。LVM2提供了好用的功能:快照:Linux LVM允許我們在邏輯卷在線的狀態(tài)下將其復(fù)制到另一個設(shè)備??煺赵试S我們在復(fù)制的同時,保證允許關(guān)鍵任務(wù)的服務(wù)器繼續(xù)工作。LVM1只創(chuàng)建只讀快照,LVM2支持創(chuàng)建可讀可寫快照。條帶化:有了條帶化,可以跨多個物理硬盤創(chuàng)建邏輯卷。鏡像:鏡像是一個實(shí)時更新的邏輯卷的完整副本,當(dāng)我們創(chuàng)建鏡像邏輯卷時,LVM會將原始邏輯卷同步到鏡像副本中。使用LVM定義物理卷:通過fdisk命令創(chuàng)建分區(qū)后,用t命令改變分區(qū)類型。比如之前創(chuàng)建了/dev/sdb1分區(qū),然后接上t#改變分區(qū)類型8e#表示這個分區(qū)將被用作LVM系統(tǒng)的一部分,而不是一個直接的文件系統(tǒng)p#顯示詳細(xì)信息w#保存用分區(qū)創(chuàng)建實(shí)際的物理卷$sudo pvcreate /dev/sdb1#結(jié)果顯示成功即可,如果pvcreate命令不正常,可能是lvm2包沒有安裝好查看$sudo pvdisplay /dev/sdb1創(chuàng)建卷組:可以將所有可用的物理卷加到一個卷組,也可以結(jié)合不同的物理卷創(chuàng)建多個卷組。使用vgcreate命令$sudo vgcreate Vol1 /dev/sdb1#創(chuàng)建名為Vo11的卷組#同樣地,可以用vgdisplay顯示卷組細(xì)節(jié)創(chuàng)建邏輯卷:使用lvcreate命令創(chuàng)建文件系統(tǒng):運(yùn)行完lvcreate命令之后,邏輯卷就產(chǎn)生了,但它還沒有文件系統(tǒng)。我們需要用相應(yīng)的命令來創(chuàng)建文件系統(tǒng):$sudo mkfs.ext4 /dev/Vol1/lvtest#lvtest為創(chuàng)建的邏輯卷在創(chuàng)建了新的文件系統(tǒng)后,可以用標(biāo)準(zhǔn)Linux mount命令進(jìn)行掛載。8.修改LVMLinux LVM包的常見命令| 命令? ? ? | 功能? ? ? ? || -------- | --------- || vgchange | 激活和禁用卷組? || vgremove | 刪除卷組? ? ? || vgextend | 將物理卷加到卷組? || vgreduce | 從卷組中刪除物理卷 || lvextend | 增加邏輯卷的大小? || lvreduce | 減小邏輯卷的大小? |