1. 程式人生 > >磁盤管理方向知識寶典

磁盤管理方向知識寶典

校驗 bre 貴的 inode bsp 一個 情況下 ioc type

磁盤分區、檢查、格式化、掛載、卸載


fdisk /dev/sdb 修改分區表

m:進入功能菜單

n:添加一個分區{p:主分區;e:擴展分區}

p:顯示分區表

w:保存分區設置並退出

使用fdisk修改分區表信息後,要使用{partprobe /dev/磁盤名}通知內核分區表的修改變化,再格式化{mkfs -t ext4 -b xxx -i xxx /dev/磁盤名},最後再掛載{mount /dev/磁盤名 /mnt}

mkfs -t ext4 -b xxx -i xxx /dev/磁盤名:-t 指定文件系統類型,-b 指定block大小,-i 指定inode大小


parted是一個磁盤分區管理工具,它比fdisk更加靈活且功能更豐富,同時支持GUID分區表


parted的操作是實時的,不像fdisk還需要w執行寫入

parted /dev/sdb 設置分區表信息
mklabel gpt 設置分區格式為gpt
mkpart primary 0 10 添加主分區10M大小,Ignore[忽略]
mkpart primary linux-swap 11 21 添加swap類型的主分區
mkpart logical ext4 22 32 添加邏輯分區

p:顯示分區表


使用物理分區構建swap

fdisk /dev/sdb 【分成一個區/dev/sdb1】

mkswap /dev/sdb1 格式化分區
free
swapon /dev/sdb1 使用swap分區
free
swapoff /dev/sdb1 停用swap分區

swap在工作中,特別是java環境,程序寫的有問題,會發生內存泄露,可能會被占用。

解決辦法:開發修改程序,運維臨時加大swap。


dumpe2fs /dev/sdb1 顯示文件系統的超級塊和塊組信息。

如無法查看,可能是因為文件系統不是ext4,使用blkid /dev/sdb1 查看文件系統類型

文件系統有哪些{Btrfs、JFS、ext、ext2ext3ext4、ISO9660、Minx、MSDOS、xfs、zfs、Reiserfs、FAT、NTFS、UMSDOS、VFAT、HPFS、SMB、SysV、PROC}


ipmitools 查看硬件信息工具


總結:


①、給磁盤分區的實質就是針對0磁頭0磁道1扇區的前446字節後面接下來的64字節的分區表進行設置,主要是劃分起始以及結束磁頭號、扇區號、柱面號;

②、給磁盤分區的工具有fdisk(硬盤大小小於2T時使用)和parted(硬盤大小大或小於2T都可以使用)普選fdisk,大於2t選parted;

③、一塊磁盤的分區表只有64字節,每個分區表要占16字節,所以一塊磁盤僅支持4個分區表,即主分區+擴展區的總量不超過4個;

④、磁盤分區是按照柱面來劃分的;

⑤、擴展分區不能直接使用,還需要在擴展分區上創建邏輯分區:

⑥、擴展分區有自己的分區表,因此,擴展分區下面的邏輯分區可以有多個。



1)磁盤分區:disk

fdisk /dev/sda
parted /dev/sda ——>支持大於2T的硬盤分區


2)磁盤格式化: mkfs -t ext3 /dev/sdb1


3)磁盤檢查:fsck,badblocks

fsck -C -f -t ext4 /dev/sdb1  ——>沒壞的磁盤一定不要用
badblocks -sv /dev/sdb1  ——>此命令可被fsck替代


4)磁盤的掛載與卸載:

①掛載ext2/ext3 文件系統

    mount /dev/sdb1 /mnt

df -h

②掛載CD或DVD光盤

    mkdir /media/cdrom
    mount -t iso9660 /dev/cdrom /media/cdrom  ——> -t iso9660這是光盤的格式
        mount /dev/cdrom /mdeia/cdrom             ——> 系統自動掛載

③格式化與掛載軟盤

        mkfs -t vfat /dev/sdb1
        mkdir /media/floppy
        mount -t fat /dev/sdb1 /media/floppy

df

④掛載U盤

        mkdir /tmp/flash
        mount -t vfat -o iocharset=cp950 /dev/sdb1 /tmp/flash

⑤文件卸載

        umount /dev/sdb1

⑥開機掛載/dev/fstab和/etc/mtab

將/dev/sdb1每次開機都自動掛載到/tmp/sdb1

編輯/dev/fstab

寫入:/dev/sdb1 /tmp/sdb1 ext3 defaults 0 0


服務器多磁盤的結構體系

技術分享圖片




從冗余、性能、成本這三個方面來比較RAID各模式的差異



服務器一般都會安裝RAID卡(獨立RAID卡需要購買的),RAID卡自帶緩存。


冗余從好到壞:raid1、raid10、raid5、raid0


性能從好到壞:raid0、raid10、raid5、raid1


成本從高到低:radi0、raid5、raid1、raid10


根據數據的存儲和訪問需求來選擇最好的RAID技術分享圖片


舉例:

1、單臺服務器,很重要,盤不多,系統盤raid1;


2、數據庫/存儲服務器,主庫raid10,從庫raid5/raid0(為了維護成本:raid10)


3、web服務器,如果沒有太多數據,raid5/raid0(單盤)


4、有多臺服務器,比如監控/應用服務器,選擇raid0/raid5


RAID 0:

在 RAID 0(條帶化)中數據將使用切片的方式被寫入到磁盤。一半的內容放在一個磁盤上,另一半內容將被寫入到另一個磁盤。

在這種情況下,如果驅動器中的任何一個發生故障,我們就會丟失數據,因為一個盤中只有一半的數據,不能用於重建 RAID。不過,當比較寫入速度和性能時,RAID 0 是非常好的。創建 RAID 0(條帶化)至少需要2個磁盤。如果你的數據是非常寶貴的,那麽不要使用此 RAID 級別。

總結:

  • 高性能。

  • RAID 0 中容量零損失。

  • 零容錯。

  • 寫和讀有很高的性能。

RAID 1:

當我們保存數據時,它將同時寫入這兩個2TB驅動器中。創建 RAID 1(鏡像化)最少需要兩個驅動器。如果發生磁盤故障,我們可以通過更換一個新的磁盤恢復 RAID 。如果在 RAID 1 中任何一個磁盤發生故障,我們可以從另一個磁盤中獲取相同的數據,因為另外的磁盤中也有相同的數據。所以是零數據丟失。

總結:

  • 良好的性能。

  • 總容量丟失一半可用空間。

  • 完全容錯。

  • 重建會更快。

  • 寫性能變慢。

  • 讀性能變好。

  • 能用於操作系統和小規模的數據庫。

RAID 5:

假設我們有4個驅動器,如果一個驅動器發生故障而後我們更換發生故障的驅動器後,我們可以從奇偶校驗中重建數據到更換的驅動器上。奇偶校驗信息存儲在所有的4個驅動器上,如果我們有4個 1TB 的驅動器。奇偶校驗信息將被存儲在每個驅動器的256G中,而其它768GB是用戶自己使用的。單個驅動器故障後,RAID 5 依舊正常工作,如果驅動器損壞個數超過1個會導致數據的丟失。

總結:

  • 性能卓越

  • 讀速度將非常好。

  • 寫速度處於平均水準,如果我們不使用硬件 RAID 控制器,寫速度緩慢。

  • 從所有驅動器的奇偶校驗信息中重建。

  • 完全容錯。

  • 1個磁盤空間將用於奇偶校驗。

  • 可以被用在文件服務器,Web服務器,非常重要的備份中。

RAID 6:

RAID 6 和 RAID 5 相似但它有兩個分布式奇偶校驗。大多用在大數量的陣列中。我們最少需要4個驅動器,即使有2個驅動器發生故障,我們依然可以更換新的驅動器後重建數據。

它比 RAID 5 慢,因為它將數據同時寫到4個驅動器上。當我們使用硬件 RAID 控制器時速度就處於平均水準。如果我們有6個的1TB驅動器,4個驅動器將用於數據保存,2個驅動器將用於校驗。

總結:

  • 性能不佳。

  • 讀的性能很好。

  • 如果我們不使用硬件 RAID 控制器寫的性能會很差。

  • 從兩個奇偶校驗驅動器上重建。

  • 完全容錯。

  • 2個磁盤空間將用於奇偶校驗。

  • 可用於大型陣列。

  • 用於備份和視頻流中,用於大規模。

RAID 10:

RAID 10 可以被稱為1 + 0或0 +1。它將做鏡像+條帶兩個工作。在 RAID 10 中首先做鏡像然後做條帶。在 RAID 01 上首先做條帶,然後做鏡像。RAID 10 比 01 好。

總結:

  • 良好的讀寫性能。

  • 總容量丟失一半的可用空間。

  • 容錯。

  • 從副本數據中快速重建。

  • 由於其高性能和高可用性,常被用於數據庫的存儲中。













磁盤管理方向知識寶典