Linux File System 魏凡琮 (Jerry Wei).

Slides:



Advertisements
Similar presentations
Linux 安裝入門與基本管理 課程目標: 學習Linux平台下的安裝設定 與 建置一個基本的Linux伺服器
Advertisements

檔案系統簡介 指導老師:梁明章 老師 A 胡瑞安.
存储基础知识 V1.1.
Linux管理与应用 Linux文件系统- 磁盘加载与卸载 主讲教师:张美平
Linux 網路教學 東南技術學院資訊工程系 職稱:講師 姓名: 曹茂勁 民國 92年 12月.
第 6 章 安裝問題解疑.
第2节 ext2文件系统 索引文件的的代表 索引文件 文件使用三部曲 文件共享 文件保护 举例.
分布式系统 Distributed Systems 第 11 讲 分布式文件系统 Lecture 11 Distributed File Systems 王晓阳、张 奇 复旦大学 计算机科学技术学院.
中央广播电视大学开放教育试点课程 计算机操作系统.
信息系统 应急解决方案 北京神州讯安科技有限公司
Linux 的檔案管理.
UBLink集團 裕笠科技股份有限公司 遠豐科技股份有限公司 鉅創科技股份有限公司
有趣的linux入门文章 By dogfox 制作.
崑山科技大學資訊傳播系 蔡德明 (鳥哥, VBird)
UClinux在3000平台上的移植.
資訊安全與系統管理 2013/3/13 Chien wei lin.
基于操作系统的编程复习 张玉宏
Linux File System Li-Shien Chen.
中国人民邮政 SCO UNIX 5.0.5培训 (二) Copyright  1999 by bcssusi Co.,Ltd.
第二章磁盘管理第一部分 主讲:刘红玉.
Linux 的進階檔案處理.
第8章 Linux系统管理.
Chapter 9 磁碟檔案系統 VBird 2005/08/12
模块1 计算机基本操作技术 项目1.1 认识计算机.
VM架設及LAMP基本設定 陳柏盛.
Linux.
RAID與LVM.
Linux的認識與使用 2013/01/05.
第 4 章 記憶單元.
作業系統 第十三章 檔案系統實例.
第 19 章 檔案系統與 權限設定.
本 章 重 點 9-1 檔案系統簡介 9-2 檔案管理.
台灣大學計算機及資訊網路中心 教學研究組 張傑生
Linux 入門課程(基礎篇) 講者: Pank
電腦基礎設定與故障排除 主辦單位:教務處 主講人:呂健聰.
檔案目錄結構.
讲师:田家华 第3章 外存储设备 本章要点   软盘驱动器 软磁盘 3.3 硬盘驱动器 3.4 其它存储设备.
第二天 计算机基础技能培训 (一)linux基础知识
中国科学技术大学计算机系 陈香兰 Fall2013 第十讲 文件管理 中国科学技术大学计算机系 陈香兰 Fall2013.
磁碟掛載.
Linux server 連線軟體: 主機:kitty.cs.pu.edu.tw 帳號:dar 密碼:n….w.
Proware Technology Corp.
Linux File System 文件系统 VFS VFS的作用 基于VFS的文件访问 VFS重要数据结构 文件系统的注册与安装
網路資源的建立--LINUX系統 國立東華大學電算中心 陳鴻彬.
第 4 章 安裝 Linux 著作權所有 © 旗標出版股份有限公司.
第2章 Linux安裝與問題排除 課前指引 本章,將分享如何在輕鬆、無負擔的前提,完成Linux作業系統的安裝程序,並且,將針對Linux認證考試必考的磁碟空間配置部份提供學習方向,讓讀者不僅學會Linux的安裝,更對於Linux考試的範圍有所體驗。
安裝JDK 安裝Eclipse Eclipse 中文化
前言 編輯 fstab 檔案 產生設定檔 編輯磁碟限制 取消與啟動 檢查磁碟限制
第 20 章 帳號與磁碟空間管理 著作權所有 © 旗標出版股份有限公司.
Chapter 6 Linux 檔案權限與目錄配置 VBird 2005/08/03
Red Hat Linux 安装与使用方法的简单介绍
私立南山高中 信息組 電腦研習 電腦資料的備份 中華民國 99年4月20日 星期二.
第3章 認識處理元.
Linux作業系統 電腦教室Linux使用說明.
如何有效率的學習Linux 培養組合能力 多用程式, 少寫程式 從錯誤訊息中學習 養成略讀 “各種文件” 加強英文基本閱讀能力 勤作筆記
作業系統 Operating System 第四單元 檔案系統
第三章 UNIX的文件与目录.
讓Emulator可以 使用Android Market
網路資源的建立--LINUX系統 系統管理
電腦DIY概論 課程大綱 前情提要 硬碟規劃工具介紹 FDISK FORMAT 安裝作業系統.
基本指令.
Cloud Operating System - Unit 03: 雲端平台建構實驗
Fedora 8 圖形模式光碟安裝.
資料表示方法 資料儲存單位.
作業一: 安裝Linux於btrfs上 中正大學 作業系統實驗室 指導教授:羅習五
第11章 儲存裝置 與其管理.
Linux文件系统.
Chapter 4 Multi-Threads (多執行緒).
第六章 文件系统与文件管理 6.4 Linux文件管理 1、比较MS DOS 与 Linux的目录结构 一、Linux文件系统的树形结构
Develop and Build Drives by Visual C++ IDE
Presentation transcript:

Linux File System 魏凡琮 (Jerry Wei)

Agenda Linux FileSystem Partition LVM RAID Q & A

FileSystem 什麼是 FileSystem? Disk File System.。 儲存和組織電腦檔案和資料的方法。 可以存放檔案及取回檔案的系統。 Everything is file, file is everything.

FileSystem 選擇FileSystem: 穩定性。 容量。 擴充性。 效能。

FileSystem FileSystem種類: 傳統(非日誌式)檔案系統。 ext2、ms-dos、VFAT....etc. 日誌式檔案系統。 ext3、ReiserFS、XFS...etc.

FileSystem 常見的FileSystem: ext2:Linux早期使用的檔案系統,基於inode來 管理檔案。 ext3:ext2 的強化版 ,增加了日誌功能,目前是 大部份Linux預設使用的檔案系統。 ext3:ext2 的強化版 ,增加了日誌功能,目前是 大部份Linux預設使用的檔案系統。

FileSystem 常見的FileSystem: xfs:原本是SGI系統所使用的檔案系統,特點是 處理大檔案速度快。 ReiserFS:Hans Reiser及其團隊所開發,使用了 B+-tree,特點是對小檔案的處理速度快。 zfs:由Sun所開發的檔案系統,128位元的檔案 系統,幾乎可達到無限容量大小的支援。

FileSystem VFS: Virtual FileSystem Switch. Kernel VFS Ext2、NTFS...etc Buffer cache Disk driver

FileSystem 檔案組成(ext2): 檔案(file) = 資料(data) + 資訊(metadata) 資料存放於data block。 資訊存放於inode。 inode data block

FileSystem inode: 128 bytes 儲存檔案的各項屬性(類別、權限、大小、修改 時間、data block位置...etc) 每個檔案都有其獨立的inode。

FileSystem block: Data Block Block Bit Map inode Table Block Group Descriptor inode Bit Map Super Block

FileSystem block: 建立block時可指定不同大小(format) 建立數量不同。 浪費程度不同。 效能不同。

FileSystem block: block佔用空間方式: Ex:File Size: 5k,Block Size:4k Data block Data block Data block Data block File File 不可用 Data block Data block

FileSystem block: Block group (index) group1 group2 group3 group4 Super Block Group Descriptor Block Bit Map Inode Bit Map Inode table Data block

FileSystem block: Data block: 用來存放檔案資料。佔用最多數量。 Q:如何知道檔案資料放那? Super Group Descriptor Block Bit Map Inode Bit Map Inode table Data block 用來存放檔案資料。佔用最多數量。 Q:如何知道檔案資料放那?

FileSystem block: Inode table: Super Block Group Descriptor Block Bit Map Inode Bit Map Inode table Data block 存放檔案的inode資訊,inode一旦滿了也一樣會無法儲存新檔案,inode會告知檔案所使用的data block 位置。 Q:如何知道那些inode和block用掉了?

FileSystem block: Inode bit map: 利用 0 或 1 的狀態來對照 inode map的分配狀況。 Super Block Group Descriptor Block Bit Map Inode Bit Map Inode table Data block 利用 0 或 1 的狀態來對照 inode map的分配狀況。 Q:如何知道inode bit map 有多大?

FileSystem block: Block bit map: 利用 0 或 1 的狀態來對照 data block的分配狀況。 Super Block Group Descriptor Block Bit Map Inode Bit Map Inode table Data block 利用 0 或 1 的狀態來對照 data block的分配狀況。 Q:如何知道block bit map 有多大?

FileSystem block: Group Descriptor: Super Block Group Descriptor Block Bit Map Inode Bit Map Inode table Data block 記錄及標示 bit map、inode table、data block 等區塊的範圍及指標。 Q:如何知道filesystem的分配及使用情形?

FileSystem block: Super block: 記錄整個filesystem分配及使用狀況。 Group Descriptor Block Bit Map Inode Bit Map Inode table Data block 記錄整個filesystem分配及使用狀況。 Q:如何從filesystem找到一份檔案?

FileSystem directory: 也是一份檔案。 記錄其下所索引的每一份檔案名稱及inode。 絕對路徑:從根目錄(/home/abc/def) 開始索引。 相對路徑:從當前目錄(./abc/def)開始索引。

FileSystem directory: Directory Filename Inode Data block

FileSystem link: Hard Link (不可跨filesystem、不可link目錄) 使用與原檔案相同的inode。 #ln [src-file] [link-file] Symbolic Link (Soft Link) 另外新增的inode,但資料內容是原檔案的路徑。 #ln -s [src-file] [linkfile]

FileSystem link: Directory HardLink Filename SoftLink Inode Inode Path Data block

FileSystem 開機磁碟檢查: 檢查super block來確認狀況是否需要修復。 非日誌式檔案系統會每個檔案都比對檢查。 (花費大量時間) 日誌式檔案系統會對日誌有記錄的檔案進行檢 查。(節省時間)

Q & A 休息一下

Partition 硬碟名稱: IDE HDD/ATAPI CDROM hda hdb . . . . . SCSI HDD/ SATA HDD/ USB DISK sda sdb . . . . .

Partition 分割區名稱: IDE HDD/ATAPI CDROM hda1 hda2 . . . . . SCSI HDD/ SATA HDD/ USB DISK sda1 sda2 . . . . .

Partition 分割區類別: Primary Partition 最多 4 個。 1-4,不需連號,不用照順序。 Extended Partition 從primary轉換過來。 最多一個。 Logical Partition 只能在Extended Partition內建立。 需連號(從5開始) 可以不用照順序。

Partition 分割區類別: Hard Disk P P E L L L L L

Partition 分割區類別: P Hard Disk P E L L L L L

Partition 分割區考量因素: 內容分類:系統檔案、程式/原始碼、資料文件。 檔案性質:size、存取行為。 安全性:掛載選項。 效能。 擴充性。

Partition 基本分割區: / (root) swap

Partition 常見分割區: /boot /home /usr /var /tmp

Partition 建立流程: fdisk partprobe mkfs mkdir mount /etc/fstab

Partition fdisk: 建立/修改partition #fdisk /dev/sdb m:參數說明。 q:不修改退出。 p:列出partition。 w:儲存後退出。 n:建立partition。 d:刪除partition。 l:列出partition type。 t:修改partition type。

Partition partprobe: 強制更新partition資訊。(reboot or partprobe) 當fdisk完後,kernel沒有reload partition info時使用。 #partprobe

Partition mkfs: 格式化。 mkfs、mkfs.ext2、mkfs.ext3 都可以。 #mkfs.ext3 /dev/sdb1 #mkfs.ext2 -j /dev/sdb1 #mkfs -t ext3 /dev/sdb1

Partition mkfs: -b:block size. -c:check block for bad block. -L:volum label.

Partition mount point: linux沒有磁碟代號(c:、d:)。 所有device都需要mount才可以使用。 不使用時可以umount。

Partition mount point: /usr / /dev/sda1 /var /home/kevin /dev/sdb1 /home/mark

Partition mount: 掛載device至mount point。 #mount /dev/cdrom /mnt/cdrom -t:filesystem type -r:ready only -w:read / write -o:async、atime、owner、rw、roex.....etc mount point的目錄需要先被建立(mkdir)。

Partition umount: 卸載mount point。 #umount /mnt/cdrom

Partition fstab: /etc/fstab (掛載設定檔)。 Device (device path、label) mount point Filesystem type mount option dump fsck

Partition fstab: mount option: auto / noauto:mount -a 時是否掛載。 user / nouser:是否允許非root掛載。 defaults:rw、suid、dev、exec、auto、nouser async(no acl support)。

Q & A 休息一下

LVM LVM: Logical Volume Manager (LVM2) 。 彈性管理硬碟大小。 mapping mode : linear、stripe、mirror。 snapshot。

LVM LVM: PV (physical volume) 。 VG (volume group) 。 PE (physical extent)。 LV (logical volume)。

LVM PV: Partition (8e) or整顆硬碟 。 ex : /dev/sda1、/dev/sdb2。 Physical volume Physical volume PV PV

LVM VG: 將一個或多個PV組成群組。 Volume Group Physical volume Physical volume

LVM PE: 重新劃分VG空間的單位。(類似block的概念) Default : 4M Volume Group Physical volume Physical volume PE PE PE PE PE PE PE PE PE PE

LVM LV: 由VG切出的partition (PE所組成的空間)。 可掛載。 Volume Group Physical volume Logical Volume /home /usr /var

LVM lvreduce: 釋放LV中未使用的PE。 減少LV的空間。

LVM lvextend: 將未使用的PE加入LV中。 擴大LV的空間。

LVM vgextend: 將PV加入到VG中 (PE增加)。 擴大VG的空間。

LVM vgreduce: 將PV從VG中移除 (PE減少)。 減少VG的空間。

LVM LVM基本建置: fdisk /dev/sdb (8e) pvcreate /dev/sdb1 (pvs、pvscan、pvdisplay) vgcreate VG1 /dev/sdb1 (vgs、vgscan、vgdisplay) lvcreate -L 300M -n LV1 VG1 (lvs、lvscan、lvdisplay) mkfs.ext3 /dev/VG1/LV1 mkdir /mnt/myLV1 mount /dev/VG1/LV1 /mnt/myLV1

LVM LVM基本建置: fdisk /dev/sdb (8e) pvcreate /dev/sdb1 (pvs、pvscan、pvdisplay) vgcreate VG1 /dev/sdb1 (vgs、vgscan、vgdisplay) lvcreate -L 300M -n LV1 VG1 (lvs、lvscan、lvdisplay) mkfs.ext3 /dev/VG1/LV1 mkdir /mnt/myLV1 mount /dev/VG1/LV1 /mnt/myLV1

LVM LVM擴充空間: fdisk /dev/sdc (8e) pvcreate /dev/sdc1 vgextend VG1 /dev/sdc1 lvextend -L 600M /dev/VG1/LV1 e2fsck -f /dev/VG1/LV1 resize2fs /dev/VG1/LV1

LVM 建立snapshot: 建立一個時間點的快照。 lvcreate -L 100M -s -n S1 /dev/VG1/LV1 mkdir /mnt/LV1-snapshot mount /dev/VG1/S1 /mnt/LV1-snapshot umount /mnt/LV1-snapshot lvremove /dev/VG1/LV1

Q & A 休息一下

RAID RAID: 磁碟陣列。 將多顆硬碟組合成一顆。 Hardware RAID。 Software RAID。 Host RAID。

RAID Hardware RAID: 有獨立處理的硬體。(raid card) 所有RAID運算由硬體完成。 對系統來說,直接視為一個device (/dev/sda) 效能高,成本高。

RAID Software RAID: 在組成RAID前,各device 為獨立的。(sda、sdb) 組成後RAID後,系統以md0、md1辨視(mdadm) 吃系統本身資源來進行RAID運算。 效能差、成本低。

RAID Host RAID: 介於Hardware RAID與Software RAID之間。 可以想成是主機內建的RAID功能。 功能較陽春。 效能比Software RAID來的稍好。

RAID RAID0: striping。 至少2 顆硬碟。 存取速度最快。 沒有容錯能力。 總容量= 所有硬碟總和。

RAID RAID1: mirror。 至少2顆硬碟。 效能與原本差不多。 具有容錯能力。 總容量= 所有硬碟容量的一半 。

RAID RAID5: 至少3顆硬碟。 可容錯1顆硬碟壞掉。 效能較RAID1高。 總容量= (硬碟數量-1) * 硬碟容量。

RAID Hot spare: 需至少1顆閒置硬碟。 當有硬碟壞掉時,可最快時間替代並開始rebuild。 RAID rebuild過程中,效能會大幅下降。

RAID RAID1+0: RAID10 RAID1 + RAID0 RAID01 RAID0 + RAID1

RAID mdadm: multi device administers. (Linux) Software RAID or multipath. RAID0、RAID1、RAID5、RAID6.....etc. /dev/md0、/dev/md1、/dev/md2 ......

RAID mdadm: --create --create /dev/md0 --raid-device --raid-device=2 --level --level=1 or --level=mirror --spare-device --spare-device=1 (raid0不適用) --detail --deltail /dev/md0 (--scan) /etc/mdadm/mdadm.conf

RAID mdadm: --manage --stop /dev/md0 --add /dev/sdd --fail /dev/sdb --remove /dev/sdb --assmeble --run /dev/md0 /etc/mdadm/mdadm.conf

RAID 基本操作: 建立/dev/md0 (raid1 ) #mdadm --create /dev/md0 --raid-device=2 \ > --level=1 --spare-devices=0 \ > /dev/sdb /dev/sdc mkfs.ext3 /dev/md0 mkdir /mnt/raid-test mount /dev/md0 /mnt/raild-test mdadm --detail --scan >> /etc/mdadm/mdadm.conf

RAID 基本操作: 加入device #mdadm --manage /dev/md0 --add /dev/sdd 設定failure device #mdadm --manage /dev/md0 --fail /dev/sdc 移除 device #mdadm --manage /dev/md0 --remove /dev/sdc

Q & A