1.磁盤有兩種分區方式:MBR和GPT
node
MBR分區須要注意什麼?linux
(1).MBR使用的是32位表示扇區數,分區不超過2Tvim
(2).磁盤是按照柱面劃分區的centos
(3).MBR的0扇區有512types,有3部分組成: (1)446types是主引導記錄boot lader;(2)64types是分區表,每一個分區表16types;(3)還有16type是結束標誌55AA安全
(4).磁盤能夠分爲4個主分區:3個主分區和1個擴展分區網絡
實例:下面對mbr進行具體分析oracle
(1).備份mbr磁盤0扇區異步
dd if=/dev/sda of=/root/mbr bs=1 count=512async
(2).把備份的mbr恢復到sdb磁盤上分佈式
dd if=/root/mbr of=/dev/sdb
GTP分區須要注意什麼?
(1)GTP:支持128個分區,使用64位,支持8z(512byte/block),64z(4096byte/block)
(2)使用128位UUID表示磁盤和分區GTP分區表自動備份在投河尾兩份,並有CRC校驗位
(3)UEFI(統一擴展固件接口)硬件支持GTP
在linux系統中磁盤的管理包括如下四個方面:`
(1).讀取新增長磁盤
(2).對新增磁盤進行分區
(3).對分區進行格式化,並設定卷標
(4).對分區進行掛載
一.讀取新增長的磁盤
1.通常在新增長磁盤後系統沒法馬上識別出來,那麼就要進行下面的步驟,掃描生成新磁盤(在生產環境下硬盤支持熱插拔,不存在這種狀況)
2.使用lsblk查看磁盤是否讀取出來
二.對磁盤進行分區
1.先學習下分區命令
(1).列出塊設備
blkid 查看磁盤格式和UUID
(2). 建立分區使用
(1)fdisk 建立MBR分區,頁支持GPT,對於一塊硬盤,最多隻能管理15個分區
fdisk -l [-u][device]
子命令:
p: 分區列表
t: 更改分區類型
n: 建立新分區
d: 刪除分區
w: 保存並退出
q: 不保存並退出
(3)gdisk 建立GTP分區
2.同步分區表(重要操做)
(1)查看內核是否已經識別新的分區
#cat /proc/partitions
(2)通知內核從新讀取硬盤分區表
新增分區後用來讀取分區
partx -a -n M:N /dev/DEVICE
kpartx -a /dev/DEVICE -f :force
刪除分區後用來讀取分區
partx -d -n M:N /dev/DEVICE
centos6:-nr N-M
注意:若是是新建磁盤,通常分區後會直接讀取到磁盤
(3)Centos 5,7:使用 partprobe
partprobe [/dev/DEVICE]
(4)parted 的操做的都是實時生效的,當心使用
用法:parted[選項]...[設備[命令][參數]..]...]
parted /dev/sdb mklabel gpt|msdos
arted /dev/sdb print
parted /dev/sdb mkpart primary 1 200
parted /dev/ sdbrm1
parted -l
實例:對/dev/sdb 進行分區
(1)fdisk /dev/sdb
(2)使用選項n進入分區,(sdb1-sdb3設爲主分區,sdb4設爲擴展分區,sd5,sd6..設爲邏輯分區),使用p查看分區
(3)使用w保存 d能夠刪除分區
(4)讀取磁盤partx -a /dev/sdb 執行2遍
三. 建立文件系統
1.文件系統類型
linux 文件系統:ext2,ext3,ext4,xfs(SGI),btrfs(Oracle),reiserfs,jfs(AXI),swap
swap:交換分區
光盤:iso996
windons: fat32,ntfs
Unix:FFS(fast),UFS(unix),JFS2
網絡文件系統:NFS,CIFS
集羣文件系統:GFS2,OCFS2(oracle)
分佈式文件系統:ceph,moosefs,mogilefs,glusterfs,Lustre
RAW: 未經處理或未經格式化產生的文件系統
2.文件系統分類
根據其是否支持"journal"功能:
日誌型文件系統: ext3, ext4, xfs, ...
非日誌型文件系統: ext2, vfat
文件系統的組成部分:
內核中的模塊:ext4, xfs, vfat
用戶空間的管理工具:mkfs.ext4, mkfs.xfs,mkfs.vfat
Linux的虛擬文件系統:VFS
查前支持的文件系統:cat /proc/filesystems
2. 文件系統管理工具:
1.磁盤分區格式化三種用法:
(1) mkfs.ext2,mkfs.ext3,mkfs.ext4
(2) mkfs -t ext2=mkfs.ext2=mke2fs -t ext2
(3) mke2fs [options] device (ext文件系統專用工具)
-t: {ext2,ext3,ext4} 指明要建立的文件系統類型
-b: {1024,2048,4096} 指明塊大小 mkfs.ext4 -b 1024 /dev/sdb1
-l: 指明卷標
-j: 至關於-t ext3 mke2fs -j = mke2fs -t ext3
-i #: 爲數據空間中每多少個字節建立一個inode;此大小不該該小於block的大小
-N #:微數據空間建立多個inode
-m #:默認5%,位管理人員預留空間佔總控鍵的百分比
-O FEATURE[...]: 啓用指定特性
-O ^FEATURE: 關閉指定特性
注意:mkfs -t ext2=mkfs.ext2=mke2fs -t ext2
2.tune2fs 從新設定ext系列文件系統可調整參數的值
tune2fs [options] device
-l:查看超級塊的內容
-j :ext2升級爲ext3
-L:修改卷標
-m #:調整預留空間百分比
-O: 文件系統屬性啓用或禁用, -O ^has_journal
-o: 調整文件系統的默認掛載選項,-o,^acl
-U: 修改UUID號
實例:
1.查看ext文件系統超級塊
tune2fs -l /de/vsdb6
2.取消日誌功能
tune2fs -O ^has_joural /dev/sdb5
3.增長日誌功能
tune2fs -O has_journal /dev/sdb3
4.dumpe2fs 顯示ext系列文件系統的屬性信息
dumpe2fs [-h] device 查看超級塊信息(分組信息)
5.用於實現文件系統檢測的工具,經常使用於發生死機或者非正常關機以後
e2fsck 檢測ext2,ext3,ext4文件系統
e2fsck [options] device
-y:對全部問題自動回答爲yes
-f:強制修復
fsck 檢測和修復文件系統
-t fstype:指明文件系統類型
fsck -t ext4 = fsck.ext4
-a :無需交互而自動修復全部錯誤
-r : 交互式修復
三.磁盤掛載
1. mount 掛載
掛載點 用於做爲另外一個系統的訪問入口,有3點須要注意:
1.事先存在
2.未被使用的或進程不會被使用的目錄
3.掛載點原有的文件 會被隱藏
mount用法:
mount [-nrw][-t vfstype][-o options] device dir
選項:
-r: readonly 只讀掛載
-w: read and write 讀寫掛載 默認就是讀寫掛載
-n: 掛載或卸載的操做不一樣步到/etc/mtab文件中(意思是掛載但不一樣步到配置文件中,隱藏起來了)
-a: 自動掛載全部支持自動掛載的設備(定義在了/etc/fstab文件中,且掛載選項中有auto功能)
-t vfstype: 指明要掛載的設備的文件類型
-L :LABEL 掛載以卷標的方式指明設備
-U :UUID 掛載以uuid的方式指明設備 例: mount -U UUID dir
-B :--bind :綁定目錄到另外一個目錄上 例:mount -B /boot /mnt/boot
查看內核追蹤到的已掛載的全部設備:cat /proc/mounts 或者 mount
mount -o options 掛載選項
選項:
aync: 異步模式
sync:同步模式,內存更改時,同時寫磁盤
atime/noatime: 文件或目錄在被訪問時是否更新其訪問時間戳
loop: 用來把一個文件當成硬盤分區掛載在硬盤上
ro: 只讀
rw: 讀寫
dev/nodev: 此設備上是否容許建立設備文件
exec/noexec: 是否運行此設備上的程序文件
user/nouser: 是否容許普通用戶掛載此文件
suid/nosuid: 是否容許程序文件上的suid和sgid特殊權限生效 默認nosuid
remount: 從新掛載 mount -o ro,remount /mnt/sdb2
acl: 啓用此係統上的acl
Defaults:至關於rw, suid, dev, exec, auto, nouser, async
支持使用facl功能
掛載默認不開啓acl功能,若開啓acl功能,執行下面命令
mount -o acl device dir
tune2fs -o acl device
mount /testdir/partfile /mnt/partfile/ -o loop
實例:針對mount 的suid權限作一個實驗
若是賦給mount suid權限,那麼普通用戶就能夠掛載可移動設備,而可移動設備上面有一些二進制程序,那麼在掛載可移動磁盤時
執行 mount -o suid /dev/sdb2 /mnt/sdb2 n賦予二進制程序suid權限,那麼普通用戶將會獲取部分root權限,形成安全隱患
2.卸載命令
1.查看掛載狀況
#findmnt MOUNT_POINT
2.查看正在訪問指定文件系統的進程
#lsof MOUNT_POINT
#fuser -v MOUNT_POINT
3.終止全部正在訪問指定的文件系統的
#fuser -km MOUNT_point
4.卸載
# umount DEVICE
# umount MOUNT_POINT
3.文件掛載配置文件
/etc/fstab每行定義一個要掛載的文件系統
要掛載的設備或僞文件系統
設備文件;LABEL(LABEL="");UUID(UUID="");僞文件系統名稱(proc,sysfs)
掛載選項:defaults
轉儲頻率: 0: 不作備份
1:天天轉儲
2:每隔一天轉儲
自檢次序: 0:不自檢
1:首先自檢:通常只有rootfs才用1
使用mount -a 命令掛載/etc/fstab 中全部的文件系統
實例:在/etc/fstab中寫入下面紅框的行,沒次開機啓動就會自動掛載
以前掛載過修改後用mount -o remount MOUNT_POINT
實用技巧:
能夠實現將目錄綁定在另外一個目錄上,做爲臨時訪問接口
mount --blind 源目錄 目標目錄
查看當前目錄已掛載的設備
mount
cat /etc/mtab
cat /proc/mounts
實例:
1.目錄掛載到目錄
mkdir /testdir/dir
mount -B /testdir/dir /mnt/dir
2.利用文件 ,實現文件系統(做用是代替分區作一些測試工做)
在centos6 上作實驗
(1)dd if=/dev/zero of=/testdir/partfile bs=1M count=500
(2)mkfs.ext4 /testdir/partfile
(3)mkdir /mnt/partfile
(4)mount /testdir/paryfile mnt/partfile -o loop
(5)vim /etc/fstab
losetup /dev/loop1 /testdir/partfile
mount/dev/loop1 /mnt/partfile
附加losetup詳解:
Linux losetup命令用於設置循環設備。
循環設備可把文件虛擬成區塊設備,籍以模擬整個文件系統,讓用戶得以將其視爲硬盤驅動器,光驅或軟驅等設備,並掛入看成目錄來使用。
語法
losetup [-d][-e <加密方式>][-o <平移數目>][循環設備代號][文件]
參數:
-d 卸除設備。
-e<加密方式> 啓動加密編碼。
-o<平移數目> 設置數據平移的數目。
實例
(1)建立空的磁盤鏡像文件,這裏建立一個1.44M的軟盤
$ dd if=/dev/zero of=floppy.img bs=512 count=2880
(2)使用 losetup將磁盤鏡像文件虛擬成快設備
$ losetup /dev/loop1 floppy.img
(3)掛載塊設備
$ mount /dev/loop0 /tmp
通過上面的三步以後,咱們就能夠經過/tmp目錄,像訪問真實快設備同樣來訪問磁盤鏡像文件floppy.img。
(4) 卸載loop設備
$ umount /tmp
$ losetup -d /dev/loop1