設備文件node
I/O Ports: I/O設備地址 一切皆文件:open(), read(), write(), close() 設備類型: 塊設備:block,存取單位「塊」,磁盤 字符設備:char,存取單位「字符」,鍵盤 設備文件:關聯至一個設備驅動程序,進而可以跟與之對應硬件設備進行通訊 設備號碼: 主設備號:major number, 標識設備類型 次設備號:minor number, 標識同一類型下的不一樣設備
硬盤接口類型linux
並行: IDE:133MB/s SCSI:640MB/s 串口:SATA:6Gbps SAS:6Gbps USB:480MB/s rpm: rotations per minute
機械硬盤和固態硬盤windows
機械硬盤(HDD):Hard Disk Drive,便是傳統普通硬盤,主要由:盤片,磁頭,盤 片轉軸及控制電機,磁頭控制器,數據轉換器,接口,緩存等幾個部分組成。機械硬盤 中全部的盤片都裝在一個旋轉軸上,每張盤片之間是平行的,在每一個盤片的存儲面上有 一個磁頭,磁頭與盤片之間的距離比頭髮絲的直徑還小,全部的磁頭聯在一個磁頭控制 器上,由磁頭控制器負責各個磁頭的運動。磁頭可沿盤片的半徑方向運動,加上盤片每 分鐘幾千轉的高速旋轉,磁頭就能夠定位在盤片的指定位置上進行數據的讀寫操做。數 據經過磁頭由電磁流來改變極性方式被電磁流寫到磁盤上,也能夠經過相反方式讀取。 硬盤爲精密設備,進入硬盤的空氣必須過濾 固態硬盤(SSD):Solid State Drive,用固態電子存儲芯片陣列而製成的硬盤,由控 制單元和存儲單元(FLASH芯片、DRAM芯片)組成。固態硬盤在接口的規範和定義、 功能及使用方法上與普通硬盤的徹底相同,在產品外形和尺寸上也與普通硬盤一致 相較於HDD,SSD在防震抗摔、傳輸速率、功耗、重量、噪音上有明顯優點,SSD傳 輸速率性能是HDD的2倍 相較於SSD,HDD在價格、容量、使用壽命上佔有絕對優點 硬盤有價,數據無價,目前SSD不能徹底取代HHD
設備文件centos
磁盤設備的設備文件命名:/dev/DEV_FILE 虛擬磁盤:/dev/vd 不一樣磁盤標識:a-z,aa,ab… /dev/sda, /dev/sdb, ... 同一設備上的不一樣分區:1,2, ... /dev/sda1, /dev/sda5 硬盤存儲術語 head:磁頭 track:磁道 cylinder: 柱面 sector: 扇區,512bytes
分區MBR,CPT緩存
兩種分區方式:MBR,GPT MBR: Master Boot Record,1982年,使用32位表示扇區數,分區不超過2T 如何分區:按柱面 0磁道0扇區:512bytes 446bytes: boot loader 64bytes:分區表 16bytes: 標識一個分區 2bytes: 55AA 4個主分區;3主分區+1擴展(N個邏輯分區)
MBR分區結構安全
硬盤主引導記錄MBR由4個部分組成 主引導程序(偏移地址0000H--0088H),它負責從活動分區中裝載,並運行 系統引導程序 出錯信息數據區,偏移地址0089H--00E1H爲出錯信息,00E2H--01BDH全爲 0字節 分區表(DPT,Disk Partition Table)含4個分區項,偏移地址01BEH--01FDH, 每一個分區表項長16個字節,共64字節爲分區項一、分區項二、分區項三、分區項4 結束標誌字,偏移地址01FE--01FF的2個字節值爲結束標誌55AA
GPT分區 網絡
GPT:GUID(Globals Unique Identifiers) partition table 支持128個分區, 使用64位,支持8Z( 512Byte/block )64Z ( 4096Byte/block) 使用128位UUID(Universally Unique Identifier) 表示磁盤和分區 GPT分區表 自動備份在頭和尾兩份,並有CRC校驗位 UEFI (統一擴展固件接口)硬件支持GPT,使操做系統啓動
管理分區數據結構
列出塊設備 • lsblk 建立分區使用: • fdisk建立MBR分區 • gdisk建立GPT分區 • parted高級分區操做 partprobe-從新設置內存中的內核分區表版本
parted命令【當心使用】異步
parted的操做都是實時生效的,當心使用 用法:parted [選項]... [設備 [命令 [參數]...]...] parted /dev/sdb mklabel gpt|msdos parted /dev/sdb print parted /dev/sdb mkpart primary 1 200 (默認M) parted /dev/sdb rm 1 parted –l 列出分區信息
分區工具fdisk和fdiskasync
gdisk /dev/sdb 類fdisk fdisk -l 、dev/sda查看分區 fdisk /dev/sdb 管理分區 子命令: p 分區列表 t 更改分區類型 n 建立新分區 d 刪除分區 v 校驗分區 u 轉換單位 w 保存並退出 q 不保存並退出
同步分區表
查看內核是否已經識別新的分區 cat/proc/partations fdisk分區後fdisk -l .dev.se1[查看硬盤] lsblk[查看內存硬盤] centos6通知內核從新讀取硬盤分區表 新增分區用: partx -a /dev/sr1 刪除分區用: partx -d --nr M-N /dev/sr1 centos7同步使用: partprobe命令
文件系統是操做系統用於明確存儲設備或分區上的文件的方法和數據結構; 即在儲存設備上組織文件的方法。操做系統中負責管理和儲存文件信息的軟件結構稱爲文件管理系統,簡稱文件系統 從系統角度來看文件系統對文件儲存設備的空間進行組織和分配,負責文件儲存並對存入的文件進行保護和檢索的系統封。 具體的說,他負責爲用戶創立文件,存入,讀取,修改,轉儲問價,控制問價的讀出,安全控制,日誌,壓縮,加密等 支持的文件系統: /lib/modules/'uname -r' /kernel/fs 各類文件系統: https://en.wikipedia.org/wiki/Comparison_of_file_systems
文件系統類型
linux系統類型: ext2(Extended file system) :適用於那些分區容量不是太大,更新也不頻繁的狀況, 例如 /boot 分區。 ext3:是 ext2 的改進版本,其支持日誌功能,可以幫助系統從非正常關機致使的異常中 恢復。它一般被用做通用的文件系統 ext4:是 ext 文件系統的最新版。提供了不少新的特性,包括納秒級時間戳、建立和使 用巨型文件(16TB)、最大1EB的文件系統,以及速度的提高 xfs:SGI,支持最大8EB的文件系統 btrfs(Oracle), reiserfs, jfs(AIX), swap 光盤:iso9660 windows:FAT32,NTFS Unix:FFS(fast),UFS(unix),JFS2 網絡文件系統:NFS,CIFS 集羣文件系統:GFS2,OCFS2 分佈式文件系統: fastdfs,ceph, moosefs, mogilefs, glusterfs, Lustre RAW:未經處理或者未經格式化產生的文件系統
文件系統分類
根據其是否支持「journl」功能: 日誌型文件系統:ext3,ext4,xfs,.... 非日誌文件系統:ext2,vfat 文件系統的組織部分: 內核中的模塊:ext4, xfs, vfat 用戶空間的管理工具:mkfs.ext4, mkfs.xfs,mkfs.vfat linux 的虛擬文件系統:VFS 查看當前支持的文件系統:cat/proc/filesystems
建立文件系統
mkfs命令: (1):mkfs.ext4/der/... xfs btrfs vfat
建立ext文件系統
mke2fs:ext系列文件系統專用管理工具 -t {ext2|ext3|ext4} -b {1024|2048|4096} -L 'LABEL' -j: 至關於 -t ext3 mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3 -i #: 爲數據空間中每多少個字節建立一個inode;此大小不該該小於 block的大小 -N #:指定分區中建立多少個inode -I 一個inode記錄佔用的磁盤空間大小,128---4096 -m #: 默認5%,爲管理人員預留空間佔總空間的百分比 -O FEATURE[,...]:啓用指定特性 -O ^FEATURE:關閉指定特性
tune2fs
tune2fs:從新設定ext系列文件系統可調整參數的值 -l:查看指定文件系統超級塊信息;super block -L 'LABEL':修改卷標 -m #:修預留給管理員的空間百分比 -j: 將ext2升級爲ext3 -O: 文件系統屬性啓用或禁用, –O ^has_journal -o: 調整文件系統的默認掛載選項,–o ^acl -U UUID: 修改UUID號 tune2fs -U`uuidgen` /dev/sdb1 uuidgen[這個命令能夠自動生成UUID] dumpe2fs: 塊分組管理,32768塊 -h:查看超級塊信息,不顯示分組信息 例:tune2fs -l /dev/sdr[查看文件系統] tune2fs -o acl /dev/sdr [手工添加acl] tune2fs -o ^acl /dev/sdr[刪除acl] [acl 相似於權限密碼] 如:setfacl -m u:dang:rw f1[給dang用戶rw權限對於f1文件]
文件系統檢測和修復
常發生於死機或者非正常關機以後 掛載爲文件系統標記爲「no clean」 注意:必定不要在掛載狀態下修復 fsck: File System Check fsck.FS_TYPE fsck -t FS_TYPE -p: 自動修復錯誤 -r: 交互式修復錯誤 FS_TYPE必定要與分區上已經文件類型相同 e2fsck:ext系列文件專用的檢測修復工具 -y:自動回答爲yes -f:強制修復 例:fsck -y /dev/sdb/[修復文件系統,,注意要取消掛載後再修復,不然會破壞數據]
掛載mount
掛載:將額外文件系統與根文件系統某現存的目錄創建起關聯關係,進而使得此 目錄作爲其它文件訪問入口的行爲 掛載:mount +掛載設備+掛載點 卸載:umount 可使用設備或掛載點 掛載點下原有的文件在掛載後會被臨時隱藏 掛載點目錄通常爲空
mount經常使用命令選項
-t vsftype:指定要掛載的設備上的文件系統類型 -r: readonly,只讀掛載 -w: read and write, 讀寫掛載 -n: 不更新/etc/mtab,mount不可見 -a:自動掛載全部支持自動掛載的設備(定義在了/etc/fstab文件中,且掛載選 項中有auto功能) -L 'LABEL': 以卷標指定掛載設備 -U 'UUID': 以UUID指定要掛載的設備 -B, --bind: 綁定目錄到另外一個目錄上 查看內核追蹤到的已掛載的全部設備 cat /proc/mounts
mount常見命令選型
-o options:(掛載文件系統的選項),多個選項使用逗號分隔 async:異步模式 sync:同步模式,內存更改時,同時寫磁盤 atime/noatime:包含目錄和文件 diratime/nodiratime:目錄的訪問時間戳 auto/noauto:是否支持自動掛載,是否支持-a選項 exec/noexec:是否支持將文件系統上運行應用程序 dev/nodev:是否支持在此文件系統上使用設備文件 suid/nosuid:是否支持suid和sgid權限 remount:從新掛載 ro:只讀 rw:讀寫 user/nouser:是否容許普通用戶掛載此設備,/etc/fstab使用 acl:啓用此文件系統上的acl功能 loop: 使用loop設備 defaults:至關於rw, suid, dev, exec, auto, nouser, async
文件掛載配置文件
/etc/fstab每行定義一個要掛載的文件系統 一、要掛載的設備或僞文件系統 設備文件 LABEL:LABEL="" UUID:UUID="" 僞文件系統名稱:proc, sysfs 二、掛載點 三、文件系統類型:ext4,xfs,nfs,none 四、掛載選項:defaults ,acl,bind 五、轉儲頻率:0:不作備份 1:天天轉儲 2:每隔一天轉儲 六、fsck檢查的文件系統的順序:容許的數字是0, 1, 和2 0:不自檢 1:首先自檢;通常只有rootfs才用 2:非rootfs使用
處理交換文件和分區
交換分區是系統RAM的補充 基本設置包括: • 建立交換分區或者文件 • 使用mkswap寫入特殊簽名 • 在/etc/fstab文件中添加適當的條目 • 使用swapon -a 激活交換空間
掛載交換分區
啓用:swapon swapon [OPTION]... [DEVICE] -a:激活全部的交換分區 -p PRIORITY:指定優先級 /etc/fstab:pri=value 禁用:swapoff [OPTION]... [DEVICE]
SWAP的優先級
能夠指定swap分區0到32767的優先級,值越大優先級越高 若是用戶沒有指定,那麼核心會自動給swap指定一個優先級,這個優先級從 -1開始,每加入一個新的沒有用戶指定優先級的swap,會給這個優先級減一 先添加的swap的缺省優先級比較高,除非用戶本身指定一個優先級,而用戶 指定的優先級(是正數)永遠高於核心缺省指定的優先級(是負數) 優化性能:分佈存放,高性能磁盤存放