inux 系統(tǒng)正常啟動過程(以硬盤啟動) 加電—>硬件檢測(POST)—>讀取硬盤的MBR—>運行boot loader加載內核 扇區(qū):sector 磁道可以劃分多個扇區(qū),通常扇區(qū)大小固定為512字節(jié) MBR:主引導記錄,位于磁盤的0磁道0扇區(qū)(sector) MBR 的前446 字節(jié)用于放boot loader(引導加載器)程序,后面64字節(jié)用來標示硬盤分區(qū),每16字節(jié)標示一個分區(qū),故一塊硬盤只有4個主分區(qū),最后2字節(jié)用于整體程序的封裝碼。
磁盤管理 查看本系統(tǒng)上的已經被識別的所有磁盤以及分區(qū)對應列表 cat /proc/partitions fdisk –l # fdisk -l
Disk /dev/sda: 171.7 GB, 171798691840 bytes 255 heads, 63 sectors/track, 20886 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 5235 41945715 8e Linux LVM /dev/sda3 5236 5300 522112+ 82 Linux swap / Solaris /dev/sda4 5301 20886 125194545 5 Extended /dev/sda5 5301 5787 3911796 83 Linux
Disk /dev/sdb: 42.9 GB, 42949672960 bytes 255 heads, 63 sectors/track, 5221 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdb doesn't contain a valid partition table
fdisk
fdisk /dev/sda 對磁盤設備進行分區(qū) d delete a partition 刪除一個分區(qū) l list known partition types 列出已知分區(qū)的類型 m print this menu n add a new partition 添加 p print the partition table顯示當前的磁盤分區(qū)情況 q quit without saving changes 退出不保存 s create a new empty Sun disklabel t change a partition's system id 改變一個分區(qū)的類型 82 Linux swap / So 83 Linux 5 Extended 8e Linux LVM w write table to disk and exit保存退出 分區(qū)創(chuàng)建時候注意主分區(qū)和擴展分區(qū) 分區(qū)創(chuàng)建完成后此時是一個裸分區(qū),只有格式化完好才能使用,也不能(指的是在一塊已經使用的硬盤剩余空間下操作時,信硬盤可以識別)被系統(tǒng)立即識別,需要用命令partprobe
# fdisk /dev/sdb Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4):1 First cylinder (1-5221, default 1): 回車選擇默認 Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-5221, default 5221): +10G(自己只大小) Command (m for help): p
Disk /dev/sdb: 42.9 GB, 42949672960 bytes 255 heads, 63 sectors/track, 5221 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System /dev/sdb1 1 1217 9775521 83 Linux Command (m for help): w The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
創(chuàng)建文件系統(tǒng) (即格式化) mkfs -t fstype /dev/sda5 mkfs -t fstype=mkfs.ext3 mkfs –t ext2 =mke2fs
mke2fs -j 創(chuàng)建日志文件系統(tǒng) -L 創(chuàng)建卷標通常是字符串(e2label /dev/sda5 不刪數據也能改卷標 e2lable /dec/sda5 NEWLABLE) -b 指定塊的大小{1024|2048|4096}單位字節(jié) -i 指定磁盤塊的比例 byte/inode ratio 默認128 -N 直接指定inode ratio的個數 -m 默認為5 指的是磁盤大小的5% 預留給管理員 -c 創(chuàng)建文件系統(tǒng)時候 檢查磁盤是不是有壞道
tune2fs 用來調整mke2fs -j 把 ext2—> ext3 -l 列出一個分區(qū)的常見的文件信息 -L 創(chuàng)建卷標 -i指文件系統(tǒng)質檢時間 N【d|m|w】 -c 指文件系統(tǒng)在掛著卸載都少次后開始自檢(-1或者0表示關閉自檢) -m 在格式化完成后調整預留百分比 -o 設置此文件系統(tǒng)的默認掛載選項
掛載mount 不加選項時候 能顯示所有掛載上的文件及其掛載路徑 mount -t 必須指定被掛在的設備的文件系統(tǒng)類型,很多時候我們都省略了,這是因為mount在掛載時候自動調用了blkid -n mount –a 可以自動掛載/etc/fstab -o rw,ro,exec (如果上面有二進制文件話默認執(zhí)行),auto,nouser(禁止普通用戶掛載此設備),async (異步數據寫入) mount -o loop /root/rhci.iso /mntcdrom (這掛載是鏡像文件 當成本地環(huán)回設備使用) mount –o remount,acl /dev/sda8 /mnt
swap –a 啟用所有的交換分區(qū)用法同mount –a
卸載 umount ejeck 可以使光盤自動卸載并彈出 如果在卸載時候發(fā)現(xiàn)有別的用戶在使用該掛載目錄,此時可以用fuser查看,并將其強制離開。 fuser –v /mount_point fuser –km /mount_point
設備自動掛載 自動掛載{開機自動掛載(/etc/fstab),按需自動掛載(autofs 工具實現(xiàn))}
/etc/fstab 這個文件包涵六個字段 /dev/vol0/root / ext3 defaults 1 1 /dev/vol0/home /home ext3 defaults 1 2 LABEL=/boot /boot ext3 defaults 1 2 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 LABEL=SWAP-sda3 swap swap defaults 0 0
每行從左到右分別標示 1 掛載的設備名 2 掛載點 3 文件系統(tǒng)類型 4 掛載選項 defaults,acl,gid,mode 5 (轉儲頻率)備份的頻率0不備份,1每天備份一次,2每隔一天備份一次 6 文件自檢次序0-9 0 從不自檢,開機自檢1-9按次序
對于掛載的設備名從上面的例子可以看出有三種方法: 設備名 卷標 UUID
能查看卷標的命令有 :e2lable /dev/device blkid tune2fs –l dumpe2fs /dev/device
交換分區(qū) mkswap /dev/sda9 交換分區(qū)不用掛載就能使用 swapon /dev/sda9 關閉 swapoff –s /dev/sda3
swapon –s 查看虛擬內存
RAID: 獨立冗余磁盤陣列 RAID技術可以通過硬件和軟件兩種方式實現(xiàn) 硬件:RAID卡 軟件:在內核當中附加類似md的軟設備驅動來實現(xiàn)軟raid
linux下軟raid的級別(表明磁盤的不同連接方式) 0:高讀寫性,不提過冗余,出故障的概率大大增加(用做swap分區(qū),做臨時分區(qū)) 1:寫入速度慢,讀取速度快;高冗余性。 4:串聯(lián)3塊硬盤,一塊盤轉用奇偶效驗碼存儲。將數據條塊化并分布于不同的磁盤上,但條塊單位為塊或記錄。RAID 4使用一塊磁盤作為奇偶校驗盤,每次寫操作都需要訪問奇偶盤,這時奇偶校驗盤會成為寫操作的瓶頸,因此RAID 4在商業(yè)環(huán)境中也很少使用。 5:RAID 5不單獨指定的奇偶盤,而是在所有磁盤上交叉地存取數據及奇偶校驗信息。在RAID 5上,讀/寫指針可同時對陣列設備進行操作,提供了更高的數據流量。 6:與RAID 5相比,RAID 6增加了第二個獨立的奇偶校驗信息塊。兩個獨立的奇偶系統(tǒng)使用不同的算法,數據的可靠性非常高,即使兩塊磁盤同時失效也不會影響數據的使用。但RAID 6需要分配給奇偶校驗信息更大的磁盤空間,相對于RAID 5有更大的“寫損失”,因此“寫性能”非常差。 10: raid 管理軟件mdadm.i386 mdadm 模式化工具 裝配模式: -A 創(chuàng)建模式 -C /dev/mdo -a yes –l 指定級別 –n 個數 -x 指定空閑盤 管理模式 :只對有冗余的磁盤有用 -f 模擬磁盤故障 -r 移除一塊磁盤 -S 停止raid -AS 啟動raid 監(jiān)控模式: cat /proc/mdstat監(jiān)控工作狀況
LVM LVM是邏輯盤卷管理(Logical Volume Manager)的簡稱,它是Linux環(huán)境下對磁盤分區(qū)進行管理的機制,LVM是建立在硬盤和分區(qū)之上的一個邏輯層,來提高磁盤分區(qū)管理的靈活性。 磁盤分區(qū)、卷組、邏輯卷和文件系統(tǒng)之間的邏輯關系的示意圖
最下面的是物理卷(pv physical volume ) 物理卷就是指硬盤分區(qū)或從邏輯上與磁盤分區(qū)具有同樣功能的設備(如RAID),是LVM的基本存儲邏輯塊,但和基本的物理存儲介質(如分區(qū)、磁盤等)比較,卻包含有與LVM相關的管理參數。
卷組(vg Volume Group) LVM卷組類似于非LVM系統(tǒng)中的物理硬盤, 其由物理卷組成。 可以在卷組上創(chuàng)建一個或多個 “LVM分區(qū)”(邏輯卷),LVM卷組由一個或多個物理卷組成。 邏輯卷:(lv logical volume) LVM的邏輯卷類似于非LVM系統(tǒng)中的硬盤分區(qū),在邏輯卷之上可以建立文件系統(tǒng)(比如/home或者/usr等)。 PE(physical extent) 每一個物理卷被劃分為稱為PE(Physical Extents)的基本單元,具有唯一編號的PE是可以被LVM尋址的最小單元。PE的大小是可配置的,默認為4MB。
LE(logical extent) 邏輯卷也被劃分為被稱為LE(Logical Extents) 的可被尋址的基本單位。在同一個卷組中,LE的大小和PE是相同的,并且一一對應。
創(chuàng)建和管理LVM 1. 創(chuàng)建LVM分區(qū)時指定其分區(qū)類型為8e 2.創(chuàng)建物理卷 pvcreate # pvcreate /dev//sdb{5,6} Physical volume "/dev//sdb5" successfully created Physical volume "/dev//sdb6" successfully created
3. 創(chuàng)建卷組 vgcreate # vgcreate myvg /dev/sdb5 /dev/sdb6 /dev/cdrom: open failed: Read-only file system /dev/cdrom: open failed: Read-only file system Attempt to close device '/dev/cdrom' which is not open. Volume group "myvg" successfully created
激活卷組:vgchange –a y myvg
4. 創(chuàng)建邏輯卷 lvcreate lvcreate –L 指定大小 -l指定盤區(qū)塊 -n 命名 # lvcreate -L 1G -n mydata myvg Logical volume "mydata" created
# mke2fs /dev/myvg/mydata # mkdir /lvm #mount /dev/myvg/mydata /lvm/
擴展步驟 umount /lvm e2fsck -f /dev/myvg/mydata lvextend –L [+]1G /dev/myvg/mydate 有+號標示增加1G ,沒有+號標示增加到1G 改物理邊界 resize2fs –p /dev/myvg/mydate 改邏輯邊界
縮減步驟 umount /lvm e2fsck –f /dev/myvg/mydata resize2fs /dev/myvg/mydata 2G lvreduce –L 2G /dev/myvg/mydata 從新掛載,查詢里面的數據是否正常
縮減帶有數據的卷組 先要把這個卷組的數據移動到別的pv上 pvmove /dev/sda6 vgreduce myvg /dev/sda6 |
|
來自: raymoon_sure > 《linux》