210 likes | 356 Views
硬體設備管理. 硬體設備. Linux 在開機時利用核心的驅動程式建立與硬體設備的溝通管道 /dev/hda 代表 IDE 硬碟 /dev/sda 代表 SCSI 硬碟 /dev/cdrom 代表光碟機 /dev/md[0,1,2,..] 代表 RAID 陣列. 設備目錄. 主要. 次要. Linux 的目錄 /dev 裏放置所有設備 (devices) 每個檔案都代表實體的某個設備,靠主要 (Major) 及次要 (Minor) 辨識碼來辨別. 設備辨識碼. 安裝新硬碟. dmesg | grep unknown fdisk 常用的命令:
E N D
硬體設備 Linux在開機時利用核心的驅動程式建立與硬體設備的溝通管道 /dev/hda代表IDE硬碟 /dev/sda代表SCSI硬碟 /dev/cdrom代表光碟機 /dev/md[0,1,2,..]代表RAID陣列
設備目錄 主要 次要 Linux的目錄/dev裏放置所有設備(devices) 每個檔案都代表實體的某個設備,靠主要(Major)及次要(Minor)辨識碼來辨別
安裝新硬碟 • dmesg | grep unknown • fdisk 常用的命令: • p :列出硬碟裏的分割區資訊 • n :在硬碟中新增分割區 • d :刪除分割區 • t :變更某分割區的檔案類型 • w :儲存目前對硬碟的修改,寫入硬碟 • q :離開fdisk工具
安裝新硬碟 • 建立Linux分割區 • fdiskΔ/dev/sdb • 以mkfs指令格式化: • mkfsΔ–tΔext4Δ/dev/sdb1 • 掛載新的硬碟分割區 • mountΔ–tΔext4Δ/dev/sdb1 Δ/mnt
掛載儲存設備 • 使用mount來掛載設備,umount指令可卸載設備 • 設備經過掛載後才能使用 • 準備一個目錄,將/dev/下的設備連接起來 • 這個連接的動作就稱為「掛載」 • mountΔ–tΔ檔案系統Δ/dev/設備Δ掛載路徑 • 例如:掛載光碟機設備 /dev/cdrom • mountΔ-tΔiso9660Δ/dev/cdromΔ/media/cdrom • 卸載設備 • umountΔ掛載路徑
RAID(Redundant Array of Inexpensive Disks獨立磁碟冗餘陣列)
RAID-0(等量)磁碟陣列的運作 • 等量磁碟區可由 2 ~ 32 部硬碟的儲存空間所組成,但每部硬碟必須提供相同大小的儲存空間。 • 當我們將檔案儲存到等量磁碟區時, 系統會自動分散寫入位於各部硬碟的空間, 如下圖:
產生RAID-0磁碟陣列 • 建立RAID0 陣列 /dev/md0 • mdadmΔ--createΔ/dev/md0Δ--raid-devices=2Δ--level=0Δ/dev/sd{b,c} • 以mkfs指令格式化: • mkfsΔ–tΔext4Δ/dev/md0 • 掛載新的硬碟陣列分割區 • mountΔ–tΔext4Δ/dev/md0Δ/mnt
RAID-1(鏡像)磁碟陣列的運作 • 鏡像磁碟陣列是用兩台磁碟的儲存空間所組成 • 系統在寫入資料時,會在兩台硬碟都完整地寫入一份
產生RAID-1磁碟陣列 • 建立RAID1 陣列 /dev/md0 • mdadmΔ--createΔ/dev/md0Δ--raid-devices=2Δ--level=1Δ--spare-devices=1Δ/dev/sd{b,c,d} • 分割 /dev/md0 • fdisk /dev/md0 • 以mkfs指令格式化: • mkfsΔ–tΔext4Δ/dev/md0 • 掛載新的硬碟陣列分割區 • mountΔ–tΔext4Δ/dev/md0Δ/mnt
模擬RAID-1磁碟陣列毀損 • 設定/dev/sdc毀損 • mdadmΔ--manageΔ/dev/md0Δ--failΔ/dev/sdc • 觀察RAID-1陣列目前情況 • mdadmΔ--detailΔ/dev/md0 • catΔ/proc/mdstat
同位元觀念 Disk 1: 1010 Disk 2: 1111 Disk 3: 1100 Disk 4: 1001 1010 ???? 1100 1001 使用偶數同位元
產生RAID-5磁碟陣列 • 建立RAID5 陣列 /dev/md0 • mdadmΔ--createΔ/dev/md0Δ--raid-devices=3Δ--level=5Δ--spare-devices=1Δ/dev/sd{b,c,d,e} • 分割 /dev/md0 • fdiskΔ/dev/md0 • 以mkfs指令格式化: • mkfsΔ–tΔext4Δ/dev/md0 • 掛載新的硬碟陣列分割區 • mountΔ–tΔext4Δ/dev/md0Δ/mnt
擴充原有檔案系統容量硬碟 • 傳統的做法 • 切割一塊新的分割(Partition),大小比原來成新的檔案系統分割大 • #fdisk /dev/sdb • 格式化新分割(Partition) • #mke2fs –t ext3 /dev/sdb1 • 將新分割掛載到暫時目錄 • #mount –t ext3 /dev/sdb1 /mnt
擴充原有檔案系統容量硬碟 • 傳統的做法 • 將要擴充的目錄(例如:/home)所有檔案複製到暫時目錄(例如:/mnt)中 • #cp –r –-preserve=all /home/* /mnt • 卸載暫時目錄 • #umount /mnt • 將新分割掛載到要擴充的目錄(例如:/home) • #mount –t ext4 /dev/sdb1 /home 或 • 修改 /etc/fstab 檔案,加入 • /dev/sdb1 /home ext4 defaults 1 1
邏輯磁區管理員(Logical Volume Mamager) • LVM 利用在實體的硬碟和檔案系統 加一層Logical 的對映機制來達到動態放大檔案系統的功能進而解決傳統Unix 所面臨的問題 • 原先運用於IBM AIX Unix 系統 • 是一種分配硬碟空間到邏輯磁區的方法 • 比傳統 Partition 分配容易做容量的調整,讓眾多硬碟機結合、彷彿融為一體可動態放大檔案系統的機制 • 無法達到容錯功能
邏輯磁區管理員(Logical Volume Mamager) Partition PV VG LV
擴充邏輯磁區的步驟 • 改變分割類型為 LVM(8e) • fdisk /dev/sdb • t 1(選擇分割1) →8e →w • 在實際分割上產生PV資訊 • pvcreate /dev/sdb1 • 將PV加入VG(邏輯磁區群組)中以擴充容量 • vgextend VG群組名稱 /dev/sdb1 • 利用多出的容量擴充LV(邏輯磁區) • lvextend –l+100%FREE /dev/VG群組名稱/LV名稱 • 用擴充的LV擴充檔案系統 • resize2fs /dev/VG群組名稱/LV名稱