天天看點

6Linux系統管理之Linux系統磁盤和檔案系統管理

作者:IT醫生

磁盤和檔案系統管理

一 磁盤管理及分區

大多數linux系統中自帶fdisk磁盤管理工具

1 檢測并确認新硬碟

fdisk指令

格式:fdisk -l [磁盤裝置]

: fdisk -l

Disk /dev/sda: 64.4 GB, 64424509440 bytes

255 heads, 63 sectors/track, 7832 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sda1 * 1 13 104391 83 Linux

/dev/sda2 14 7832 62806117+ 8e Linux LVM

Disk /dev/sdb: 85.8 GB, 85899345920 bytes

255 heads, 63 sectors/track, 10443 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdb doesn't contain a valid partition table 新磁盤沒有分區表

2 規劃硬碟中的分區

fdisk指令

用途:在互動式的操作環境中管理磁盤分區

格式:fdisk [磁盤裝置]

互動模式中的常用指令

m:檢視操作指令的幫助資訊

p:清單檢視分區資訊

n:建立分區

d:删除分區

t:變更分區類型

w:儲存分區設定并退出

q:放棄分區設定并退出

1)建立主分區

: fdisk /dev/sdb

:p 檢視分區情況

:n 建立分區

Command action 分區類型

e extended 擴充分區

p primary partition (1-4) 主分區

:p 建立主分區

Partition number (1-4): 1 選擇主分區的編号(隻有四個主分區)

First cylinder (1-2610, default 1): 起始柱面(預設回車)

Last cylinder or +size or +sizeM or +sizeK (1-2610, default 2610): +10G 直接配置設定大小

:p 再檢視分區情況

  1. 建立擴充分區和邏輯分區
  1. 擴充分區

: fdisk /dev/sdb

:p 檢視分區情況

:n

Command action

e extended

p primary partition (1-4)

:e

Partition number (1-4): 4 選擇4作為擴充分區的編号

First cylinder (1218-2610, default 1218): 預設即可(從第一主分區的結束柱面開始)

Last cylinder or +size or +sizeM or +sizeK (1218-2610, default 2610): 預設(剩餘容量全部配置設定)

B)邏輯分區

: fdisk /dev/sdb

:p 檢視分區情況

:n

Command action

l logical (5 or over) 邏輯分區

p primary partition (1-4)

:l (第一個邏輯分區預設編号為5)

First cylinder (1218-2610, default 1218):

Last cylinder or +size or +sizeM or +sizeK (1218-2610, default 2610): +5G

C)删除分區

: fdisk /dev/sdb

:p 檢視分區情況

:d 進入删除操作

Partition number (1-6): 5 選擇要删除的分區

D)更改分區類型

Command (m for help): t 進入變更操作

Partition number (1-6): 5 選擇要改變分區

Hex code (type L to list codes): 82 改變後的檔案系統ID

E)儲存并退出

:w 儲存并退出

:q 不儲存退出

F)讓系統重新檢測分區表資訊

: partprobe /dev/sdb 或重新開機系統

二 檔案系統的管理

使用fdisk工具對硬碟建立分區後還需要對分區進行格式化并挂載到系統指定的目錄,然後才能使用。

1 建立檔案系統(也叫格式化分區的過程)

1)mkfs指令

用途:Make Filesystem,建立檔案系統(格式化)

格式:mkfs -t 檔案系統類型 分區裝置

  1. 建立EXT3檔案系統

:mkfs -t ext3 /dev/sdb1 或 mkfs.ext3 /dev/sdb1

B)建立FAT32檔案系統

:mkfs -t vfat -F 32 /dev/sdb5 或 mkfs.vfat -F 32 /dev/sdb5

2)mkswap指令

用途:make Swap,建立交換檔案系統(相當于虛拟記憶體)

格式:mkswap 分區裝置

:free -m 檢視記憶體大小

:mkswap /dev/sdb6 将sdb6格式化為swap分區(sdb6的ID必須為82)

:swapon /dev/sdb6 啟用虛拟記憶體 swapoff /dev/sdb6 停用

三 挂載、解除安裝檔案系統

1 挂載檔案系統(一個裝置可以挂載到多個目錄)

mount指令

用途:挂載檔案系統、ISO鏡像到指定檔案夾

格式:mount [ -t 類型 ] 儲存設備 挂載點目錄

mount -o loop ISO鏡像檔案 挂載點目錄

:mount /dev/sdb1 /dev/db/ 挂載分區到空目錄下

:mount /dev/sdc1 /media/usbdisk 挂載USB儲存設備(識别為SCSI裝置)

2 解除安裝檔案系統

umount指令

用途:解除安裝已挂載的檔案系統

格式:umount 儲存設備位置

umount 挂載點目錄

3 設定檔案系統的自動挂載

/etc/fstab配置檔案

包含了需要開機後自動挂載的檔案系統記錄

:vim etc/fstab

/dev/sdb6 swap swap defaults 0 0

第一字段:裝置名

第二字段:挂載目錄

第三字段:檔案系統類型

第四字段:挂載後使用權限,預設即可

第五字段:是否需要備份0為不備份

第六字段:0表示不檢查磁盤檢測順序

4 檢視磁盤使用情況

df指令

格式:df [選項] [檔案]

:df -hT

檔案系統 類型 容量 已用 可用 已用% 挂載點

/dev/mapper/VolGroup00-LogVol00 ext3 6.7G 4.1G 2.3G 65% /

/dev/sda1 ext3 99M 11M 83M 12% /boot

tmpfs tmpfs 252M 0 252M 0% /dev/shm

/dev/sdb1 ext3 19G 173M 18G 1% /mailbox

四 LVM邏輯卷管理

1 LVM概述

Logical Volume Manager,邏輯卷管理,是linux系統中對磁盤分區進行管理的一種邏輯機制,它是建立在硬碟和分區之上、檔案系統之下的一個邏輯層

作用:動态調整磁盤容量,進而提高磁盤管理的靈活性

需要注意:/boot分區用于存放引導檔案,不能基于LVM建立

圖形界面管理工具:system-config-lvm

2 LVM機制的基本概念

PE(Physical Extent,基本單元)

最小的存儲單元,大小為4M

PV(Physical Volume,實體卷)

整個硬碟,或使用fdisk等工具建立的普通分區

包括許多預設4MB大小的PE(Physical Extent,基本單元)

VG(Volume Group,卷組)

一個或多個實體卷組合而成的整體

LV(Logical Volume,邏輯卷)

從卷組中分割出的一塊空間,用于建立檔案系統

3 LVM的管理指令

主要指令

功能 實體卷管理 卷組管理 邏輯卷管理

Scan 掃描 pvscan vgscan lvscan

Create 建立 pvcreate vgcreate lvcreate

Display 顯示 pvdisplay vgdisplay lvdisplay

Remove 删除 pvremove vgremove lvremove

Extend 擴充 vgextend lvextend

Reduce 減少 vgreduce lvreduce

主要指令的文法

pvcreate 裝置名

vgcreate 卷組名 實體卷名1 實體卷名2

lvcreate -L 大小 -n 邏輯卷名 卷組名

lvextend -L +大小 /dev/卷組名/邏輯卷名

  1. PV實體卷管理

A)顯示實體卷

:pvscan 掃描系統中的所有實體卷(預設sdb2一個)

B)建立實體卷

:pvcreate /dev/sdb1 /dev/sdb5 将指定分區轉換為實體卷

C)檢視實體卷

:pvdisplay 顯示所有實體卷的詳細資訊

D)取消實體卷

:pvremove /dev/sdb1 将實體卷轉換為基本磁盤

  1. VG卷組管理
  1. 顯示卷組

:vgscan 掃描系統中的卷組資訊

  1. 建立卷組

:vgcreate juanzu /dev/sdb1 /dev/sdb5 将一個或多個實體卷建立成名為juanzu的卷組

  1. 檢視卷組

:vgdisplay 檢視所有卷組詳細資訊

  1. 删除卷組

:vgremove juanzu 删除指定卷組(確定卷組中沒有正在使用的邏輯卷)

E)擴充卷組

:vgextend juanzu /dev/sdb6 将指定實體卷添加進名為juanzu的卷組

  1. LV邏輯卷管理
  1. 顯示邏輯卷

:lvscan

  1. 建立邏輯卷

:lvcreate -L 10G -n luojijuan juanzu 從指定的卷組中配置設定10G給名為luojijuan的邏輯卷

  1. 檢視邏輯卷

:lvdisplay

D)擴容邏輯卷

:lvextend -L +1G /dev/juanzu/luojijuan 指定大小、指定邏輯卷和其所在卷組

:resize2fs /dev/juanzu/luojijuan 讓系統重新識别

E)删除邏輯卷(删除前備份資料)

:lvremove /dev/juanzu/luojijuan

五 設定磁盤配額

1 磁盤配額概述

1)實作磁盤限額的條件

A)需要Linux核心支援

:uname 檢視核心版本

B)安裝quota軟體包

:rpm -qa quota 檢視是否安裝

2)Linux磁盤限額的特點

A)作用範圍:針對指定的檔案系統(分區)

B)限制對象:使用者帳号、組帳号

C)限制類型:

磁盤容量(預設機關為KB)

檔案數量 (通過限制i節點數量來實作對檔案數量的限制)

D)限制方法:

軟限制:預設七天内允許超過這個限制,系統警告可繼續寫入

硬限制:絕對限制

2 磁盤配額管理

  1. 以支援配額功能的方式挂載檔案系統
  1. 格式化邏輯卷

:mkfs -t ext3 /dev/juanzu/luojijuan

  1. 挂載檔案系統

:mkdir cipan 建立挂載目錄

:chmod 777 /cipan 給目錄相應的權限

:mount -o remount,usrquota,grpquota /dev/juanzu/luojijuan 挂載(之前挂載過的可以加remount重新挂載)

C)設定開機自動挂載

:vim /etc/fstab

/dev/juanzu/luojijuan /cipan ext3 defaults,usrquota,grpquota 0 0

  1. 檢測磁盤配額并建立配額檔案

A)使用quotacheck指令建立配額檔案

格式:quotacheck -ugcv 檔案系統 給指定檔案系統建立配額檔案

quotacheck -augcv 給所有支援配額的檔案系統建立配額檔案

參數:

-u、-g:檢測使用者、組配額

-c:建立配額資料檔案

-v:顯示執行過程資訊

-a:檢測所有可用的分區

:quotacheck -augcv (一下提示表示成功)

quotacheck: Scanning /dev/mapper/juanzu-luojijuan [/cipan] quotacheck: Cannot stat old user quota file: 沒有那個檔案或目錄

quotacheck: Cannot stat old group quota file: 沒有那個檔案或目錄

quotacheck: Cannot stat old user quota file: 沒有那個檔案或目錄

quotacheck: Cannot stat old group quota file: 沒有那個檔案或目錄

done

quotacheck: Checked 3 directories and 2 files

quotacheck: Old file not found.

quotacheck: Old file not found.

B)編輯使用者群組賬号的配額設定

格式: edquota -u 使用者名

edquota -g 組名

:edquota -u lisi

Filesystem(預設機關為KB和個)blocks soft hard inodes soft hard

/dev/mapper/juanzu-luojijuan 0 0 0 0 0 0

作用範圍 已用容量 軟限制容量 硬限制容量 已用節點 軟限制節點 硬限制節點

C)設定軟限制的預設期限

:edquota -t

  1. 啟動檔案系統的配額功能

:quotaon -ugv /cipan 啟用

:quotaoff -ugv /cipan 關閉

3 檢視使用者或分區的配額使用情況

A)側重使用者、組帳号角度:使用quota指令

quota -u 使用者名

quota -g 組名

B)側重檔案系統角度:使用repquota

repquota 檔案系統 檢視指定檔案系統

repquota -a 檢視所有

繼續閱讀