熟悉Linux平台下的存儲介質,LVM邏輯卷.RAID 磁盤陳列等
大綱:
1-1 硬盤的分類及使用fdisk分區工具
1-1-1 認識硬盤的分類和特性、SCSI、IDE、SAS、SATA、SSD、硬盤的尺寸和用途
1-1-2使用fdisk對磁盤進行操作,分區,格式化(重點)、fdisk、mkfs使用
1-1-3開機自動掛載分區、配置/etc/fstab
1-2 實戰:使用parted分區工具及拓展swap分區
1-2-1 使用patred操作大雨等於4T硬盤(重點)parted
1-2-2擴展服務器swap內存空間swapon、swapoff、free -m
====================================================
1-1 硬盤的分類及使用fdisk分區工具
1-1-1 認識硬盤的分類和特性
1、SCSI硬盤 (Small Computer System Interface)並行
(小型計算機系統接口)廣泛應用於小型機上的高速數據傳輸技術
特點:應用范圍廣、多任務、帶寬大、CPU占用率低,以及熱插拔等優點,但較高的價格使得它很難如IDE硬盤般普及
應用范圍:中、高端服務器和高檔工作站中
2、IDE硬盤 (Integrated Drive Eletronics)(電子集成驅動器)並行?
把盤體與控制器集成在一起,減少了硬盤接口的電纜數目與長度.
數據傳輸的可靠性得到了增強,硬盤制造起來變得更容易,
因為硬盤生產廠商不需要再擔心自己的硬盤是否與其它廠商生產的控制器兼容。
對用戶而言,硬盤安裝起來也更為方便。
特點:價格低廉、兼容性強
應用范圍:
3、SAS (Serial Attached SCSI)即串行連接SCSI,是新一台SCSI技術
和現在流行的Serial ATA(SATA)硬盤相同,
都是采用串行技術以獲得更高的傳輸速度,
並通過縮短連結線改善內部空間等。
SAS是並行SCSI接口之后開發出的全新接口。
此接口的設計是為了改善存儲系統的效能、可用性和擴充性,
並且提供與SATA硬盤的兼容性。
4、SATA(Serial ATA)
硬盤SATA接口:使用SATA(Serial ATA)接口的硬盤又叫串口硬盤,是未來和現在PC機硬盤的主流趨勢。
2001年,由Intel、APT、Dell、IBM、希捷、邁拓這幾大廠商組成的Serial ATA委員會正式確立了Serial ATA 1.0規范
2002年,雖然串行ATA的相關設備還未正式上市,但Serial ATA委員會已搶先確立了Serial ATA 2.0規范。
Serial ATA采用串行連接方式,串行ATA總線具備了更強的糾錯能力,與以往相比其最大的區別在於能對傳輸指令(不僅僅是數據)進行檢查,如果發現錯誤會自動矯正,這在很大程度上提高了數據傳輸的可靠性。
SAS與SATA的接口區別
5、SSD
固態硬盤在接口的規范和定義、功能及使用方法上與普通硬盤的完全相同.
在產品外形和尺寸上也完全與普通硬盤一致。
被廣泛應用於軍事、車載、工控、視頻監控、網絡監控、網絡終端、電力、醫療、航空、導航設備等領域。
讀寫速度快:采用閃存作為存儲介質,讀取速度相對機械硬盤更快。
最常見的7200轉機械硬盤的尋道時間一般為12-14毫秒,而固態硬盤可以輕易達到0.1毫秒甚至更低。
低功耗:固態硬盤的功耗要低於傳統硬盤。
無噪音:固態硬盤沒有機械馬達和風扇,工作時噪音值為0分貝。由於固態硬盤采用無機械部件的閃存芯片,所以具有了發熱量小、散熱快等特點。
工作溫度范圍大:典型的硬盤驅動器只能在5到55攝氏度范圍內工作。
輕便:固態硬盤在重量方面更輕,與常規1.8英寸硬盤相比,重量輕20-3
硬盤的尺寸和用途可分為:
0.85英寸,多用於手機等便攜裝置中;
1英寸, 多用於數碼相機;
1.8英寸,用於部分筆記本電腦;
2.5英寸,常用於筆記本電腦;
3.5英寸,多用於台式電腦中。采用3.5"硬盤的外置硬盤盒需要外接電源;
5.25英寸,多為早期之台式電腦使用。今已無廠商生產。
1-1-2使用fdisk對磁盤進行操作,分區,格式化(重點)
正常使用一塊磁盤步驟
購買硬盤-->連接硬盤-->磁盤分區-->格式化硬盤(創建文件系統)
-->磁盤掛載(設置開機自動掛載)-->正常使用
一般磁盤文件存放在linux系統中的/dev目錄下,可使用ls命令查看,
磁盤文件的命名規則:
例如:/dev/sda1
sda1對應磁盤名稱,其中前兩個字符代表硬盤的類型(SAS、SCSI、SATA等),
其中sd代表SCSI硬盤,hd代表SATA硬盤
(在虛擬機中體現不出來)
sda1中a表示是第一塊,b是第二塊,以此類推
sda1中1,2,3,4代表是主分區,5-9代表是邏輯分區
sd=SCSI接口類型的硬盤
hd=IDE接口類型的硬盤
[abcd]=代表第幾塊
[1234]=主分區
[56789]=擴展分區/邏輯分區
實戰:使用fdisk管理分區
fdisk簡介及用法
[root@xiaogan ~]# fdisk --help fdisk: invalid option -- '-' Usage: fdisk [options] <disk> change partition table fdisk [options] -l <disk> list partition table(s) #查看磁盤分區表 fdisk -s <partition> give partition size(s) in blocks #查看磁盤分區的塊大小 Options: -b <size> sector size (512, 1024, 2048 or 4096) #設置磁盤塊大小 -c[=<mode>] compatible mode: 'dos' or 'nondos' (default)#? -h print this help text #打印幫助信息 -u[=<unit>] display units: 'cylinders' or 'sectors' (default) #? -v print program version #打印fdisk版本信息 -C <number> specify the number of cylinders -H <number> specify the number of heads -S <number> specify the number of sectors per track 使用命令 fdisk -l #查看磁盤分區表
[root@xiaogan ~]# fdisk -l /dev/sda Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x000495c5 Device Boot Start End Blocks Id System /dev/sda1 * 2048 411647 204800 83 Linux /dev/sda2 411648 29788159 14688256 8e Linux LVM [root@xiaogan ~]# fdisk -l Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x000495c5 Device Boot Start End Blocks Id System /dev/sda1 * 2048 411647 204800 83 Linux /dev/sda2 411648 29788159 14688256 8e Linux LVM Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/mapper/rhel-root: 10.7 GB, 10737418240 bytes, 20971520 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/mapper/rhel-swap: 4294 MB, 4294967296 bytes, 8388608 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes
第一步:添加硬盤,並開機檢查,是否添加成功
[root@xiaogan ~]# ls /dev/sdb*
/dev/sdb [root@xiaogan ~]#
第二步:使用fdisk命令對磁盤分區
輸入m,查看幫助信息: Command (m for help): m Command action a toggle a bootable flag #設置可啟動標記 b edit bsd disklabel #設置一個bsd磁盤標記 c toggle the dos compatibility flag #設置dos兼容標記 d delete a partition #刪除分區 g create a new empty GPT partition table #新建一個空的GPT分區表 G create an IRIX (SGI) partition table #新建一個SGI分區表 l list known partition types #列出已知分區類型 m print this menu #打印幫助信息 n add a new partition #添加一個新的分區 o create a new empty DOS partition table #新建一個空的DOS分區表 p print the partition table #打印分區表 q quit without saving changes #不保存退出 s create a new empty Sun disklabel #創建一個空的SUN磁盤標簽 t change a partition's system id #修改分區ID u change display/entry units #修改顯示單元(units)? v verify the partition table #檢驗分區表 w write table to disk and exit #將修改保存到分區表 x extra functionality (experts only) #額外的功能(專家模式)
對/dev/sdb執行分區操作:
fdisk /dev/sdb
[root@xiaogan ~]# fdisk /dev/sdb Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table Building a new DOS disklabel with disk identifier 0x0eb4f59b. Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): Using default response p Partition number (1-4, default 1): First sector (2048-41943039, default 2048): Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): +1G Partition 1 of type Linux and of size 1 GiB is set Command (m for help): p Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x0eb4f59b Device Boot Start End Blocks Id System /dev/sdb1 2048 2099199 1048576 83 Linux Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. [root@xiaogan ~]# ls /dev/sdb* /dev/sdb /dev/sdb1
第三步:使用mkfs命令制作文件系統(即格式化)
mkfs可以制作多種文件系統,如下:
[root@xiaogan ~]# mkfs #連按兩次TAB鍵
mkfs mkfs.cramfs mkfs.ext3 mkfs.fat mkfs.msdos mkfs.xfs
mkfs.btrfs mkfs.ext2 mkfs.ext4 mkfs.minix mkfs.vfat
[root@xiaogan ~]# mkfs
使用mkfs.ext4 或 mkfs -t ext4 對/dev/sdb1格式化
[root@xiaogan ~]# mkfs.ext4 /dev/sdb1 mke2fs 1.42.9 (28-Dec-2013) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 65536 inodes, 262144 blocks 13107 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=268435456 8 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376 Allocating group tables: done Writing inode tables: done Creating journal (8192 blocks): done Writing superblocks and filesystem accounting information: done
在未掛載系統時,可使用blkid /dev/sdb1查看磁盤文件系統類型及UUID號
[root@xiaogan ~]# blkid /dev/sdb1 /dev/sdb1: UUID="ffdfff15-a4a4-4ca7-9b55-d81323adef4d" TYPE="ext4"
第四步:掛載磁盤,並設置開機自動掛載
創建掛載點並掛載磁盤
[root@xiaogan ~]# mkdir /sdb1 [root@xiaogan ~]# mount /dev/sdb1 /sdb1 [root@xiaogan ~]# df | tail -1 /dev/sdb1 999320 2564 927944 1% /sdb1
1-1-3開機自動掛載分區
方法1:
但是,當我們重啟系統后,新建的磁盤任需要我們重新掛載,
故,需要我們對磁盤設置開機自動掛載,如下:
[root@xiaogan ~]# echo "/dev/sdb1 /sdb1 ext4 defaults 0 0" >> /etc/fstab [root@xiaogan ~]# tail -1 /etc/fstab /dev/sdb1 /sdb1 ext4 defaults 0 0
方法2:
或使用vim命令,編輯/etc/fstab,並添加/dev/sdb1 /sdb1 ext4 defaults 0 0
然后,卸載磁盤,並執行mount -a命令檢查,是否設置成功
檢查:
[root@xiaogan ~]# umount /dev/sdb1 [root@xiaogan ~]# mount -a [root@xiaogan ~]# df | tail -1 /dev/sdb1 999320 2564 927944 1% /sdb1
方法3:(通用)使用UUID設置自動掛載
UUID作用
UUID是一個標識你系統中的存儲設備的字符串,其目的是幫助使用者唯一的確定系統中的所有存儲設備,全球唯一,不管它們是什么類型的。它可以標識DVD驅動器,USB存儲設備以及你系統中的硬盤設備等。
一般在設置自動掛載磁盤時,我們都會使用磁盤的UUID來設置自動掛載
磁盤的UUID,是全球唯一的,所以,避免了開機自動掛載重名問題
[root@xiaogan ~]# blkid /dev/sdb1 /dev/sdb1: UUID="ffdfff15-a4a4-4ca7-9b55-d81323adef4d" TYPE="ext4" [root@xiaogan ~]# echo "UUID=ffdfff15-a4a4-4ca7-9b55-d81323adef4d /sdb1 ext4 defaults 0 0" >> /etc/fstab [root@xiaogan ~]# tail -1 /etc/fstab UUID=ffdfff15-a4a4-4ca7-9b55-d81323adef4d /sdb1 ext4 defaults 0 0 [root@xiaogan ~]#
1-2 實戰:使用parted分區工具及拓展swap分區
1-2-1 使用patred操作大於等於4T硬盤(重點)
fdisk無法支持 2TB 以上的分區,此時就用到 parted 這個工具。
GPT分區:
GPT,全局唯一標識分區表(GUID Partition Table),GUID,與MBR最大4個分區表項的限制相比,GPT對分區數量沒有限制,但Windows最大僅支持128個GPT分區。GPT可管理硬盤大小達到了18EB(1EB=1024PB=1,048,576TB),不過NTFS格式最大僅支持256TB。
Parted 磁盤分區工具
parted是Linux中磁盤分區管理的高級工具
當我們遇到容量大於等於4T的硬盤時,fdisk命令就不適用了。
這時,我們會用到另一個命令parted
[root@xiaogan ~]# parted --help Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...] #格式 Apply COMMANDs with PARAMETERS to DEVICE. If no COMMAND(s) are given, run in interactive mode. #當沒有命令參數時,運行在交互模式 OPTIONs:#選項 -h, --help displays this help message #幫助 -l, --list lists partition layout on all block devices #列出所有塊設備分區列表 -m, --machine displays machine parseable output #顯示機器可解析的輸出 -s, --script never prompts for user intervention #不給用戶提示信息 -v, --version displays the version #版本 -a, --align=[none|cyl|min|opt] alignment for new partitions #對齊新分區 COMMANDs: align-check TYPE N check partition N for TYPE(min|opt) alignment #對第N分區對齊檢查 help [COMMAND] print general help, or help on COMMAND #command幫助 mklabel,mktable LABEL-TYPE create a new disklabel (partition table)#新建分區表 mkpart PART-TYPE [FS-TYPE] START END make a partition #新建分區 name NUMBER NAME name partition NUMBER as NAME #分區命名 print [devices|free|list,all|NUMBER] display the partition table, available devices, free space, all found partitions, or a particular partition #打印分區表 quit exit program #退出 rescue START END rescue a lost partition near START and END #救援分區..設置開頭結尾 rm NUMBER delete partition NUMBER #刪除分區 select DEVICE choose the device to edit #選擇操作磁盤 disk_set FLAG STATE change the FLAG on selected device #設置磁盤標簽 disk_toggle [FLAG] toggle the state of FLAG on selected device #修改磁盤標簽狀態 set NUMBER FLAG STATE change the FLAG on partition NUMBER #修改分區標簽 toggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBER #修改分區標簽狀態 unit UNIT set the default unit to UNIT #設置默認UNIT version display the version number and #版本信息 copyright information of GNU Parted Report bugs to bug-parted@gnu.org
實戰:使用parted分區工具,GPT分區
第一步:檢查安裝
[root@xiaogan ~]# rpm -qf `which parted` parted-3.1-23.el7.x86_64 [root@xiaogan ~]#
若未安裝,可使用如下命令進行安裝
rpm -ivh /mnt/Packages/parted-3.1-23.el7.x86-64.rpm
or
yum install parted
第二步:對磁盤進行分區
可使用parted -l 查看所有磁盤分區情況
[root@xiaogan ~]# parted /dev/sdb GNU Parted 3.1 Using /dev/sdb Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) mklabe GPT Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue? #這將摧毀/dev/sdb上所有數據 Yes/No? Yes #確認 (parted) mkpart #交互式新建分區 Partition name? []? File system type? [ext2]? xfs Start? 1000 End? 1000000 #設置分區起始位置 Error: The location 1000000 is outside of the device /dev/sdb. (parted) p Model: VMware, VMware Virtual S (scsi) Disk /dev/sdb: 21.5GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags #划橫線這部分,是沒有新建成功的案例 (parted) mkpart primary 0 1000 #新建分區 Warning: The resulting partition is not properly aligned for best performance. Ignore/Cancel? Ignore #新建的分區太小,大一點就不會出現警告信息了 (parted) p Model: VMware, VMware Virtual S (scsi) Disk /dev/sdb: 21.5GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 17.4kB 1000MB 1000MB primary (parted) q Information: You may need to update /etc/fstab. [root@xiaogan ~]# ls /dev/sdb* /dev/sdb /dev/sdb1 [root@xiaogan ~]# Number Start End Size File system Name Flags 1 17.4kB 1000MB 1000MB primary
參數解釋:
Number:這個就是分區的號舉例來說,1號代表的是 /dev/sdb1 的意思;
Start:起始的磁柱位置;
End:結束的磁柱位置;
Size: 分區有多少容量;
Type:就是分區的類型,有primary, extended, logical等類型;
File system:就如同 fdisk 的 System ID 之意。
使用blkid /dev/sdb1命令查看分區信息
[root@xiaogan ~]# blkid /dev/sdb1
/dev/sdb1: PARTLABEL="primary" PARTUUID="6cdf6afd-5771-45e6-b809-72188dab63f5"
第三步:格式化分區,並掛載
[root@xiaogan ~]# mkfs.xfs /dev/sdb1 meta-data=/dev/sdb1 isize=256 agcount=4, agsize=61034 blks = sectsz=512 attr=2, projid32bit=1 = crc=0 finobt=0 data = bsize=4096 blocks=244136, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=0 log =internal log bsize=4096 blocks=853, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 [root@xiaogan ~]# mount /dev/sdb1 /sdb1 [root@xiaogan ~]# df | tail -1 /dev/sdb1 973132 32928 940204 4% /sdb1 [root@xiaogan ~]#
1-2-2擴展服務器swap內存空間
Swap分區在系統的物理內存不夠用的時候,把硬盤空間中的一部分空間釋放出來,以供當前運行的程序使用。那些被釋放的空間可能來自一些很長時間沒有什么操作的程序,這些被釋放的空間被臨時保存到Swap分區中,等到那些程序要運行時,再從Swap分區中恢復保存的數據到內存中。
SWAP 分區在一些情況下可以提升 Linux 操作系統性能,但在某些情況下又會成為系統運行的瓶頸,下面我們就來詳細介紹下 Linux 中的 SWAP 交換分區
SWAP 交換分區是用來存放內存溢出來的數據。
我們可以將內存想像成一個盆子,運行程序時的數據都被作為水放在內存這個盆子當中。
如果你運行太多的應用程序,導致水過多而(內存這個)盆子已經裝不下時,就會將多於部分的水裝到 SWAP 交換分區當中。
優點:
內存用完時,提供更多運行空間
mkswap /swap (格式化成swap格式)
swapon /swap (激活/swap,加入到swap分區中)
vim /etc/fstab (開機自啟動新添加的swap分區)
—>添加
/swap swap swap defaults 0 0
如果不想使用需要刪除,只需要執行#swapoff /swap
第一步:新建磁盤分區
[root@xiaogan ~]# ls /dev/sdb* /dev/sdb /dev/sdb1 [root@xiaogan ~]# parted /dev/sdb GNU Parted 3.1 Using /dev/sdb Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) mkpart primary 1000 5000 #創建分區 (parted) p #打印信息,檢查 Model: VMware, VMware Virtual S (scsi) Disk /dev/sdb: 21.5GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 17.4kB 1000MB 1000MB xfs primary 2 1000MB 5000MB 3999MB primary (parted) q #退出 Information: You may need to update /etc/fstab. [root@xiaogan ~]# ls /dev/sdb* #檢查 /dev/sdb /dev/sdb1 /dev/sdb2
第二步:格式化成swap分區
mkswap /dev/sdb2 #格式化swap分區
[root@xiaogan ~]# mkswap /dev/sdb2 Setting up swapspace version 1, size = 3905532 KiB no label, UUID=c51301cc-a661-498b-acb6-d88e56900ed6 第三步:查看當前swap分區大小,啟用swap分區后,再次查看 swapon /dev/sdb2 #啟用/dev/sdb2 swap分區 swapoff /dev/sdb2 #停用/dev/sdb2 swap分區 free -m #查看內存使用信息 [root@xiaogan ~]# free -m #查看內存使用信息 total used free shared buff/cache available Mem: 1985 320 1320 9 344 1489 Swap: 4095 0 4095 [root@xiaogan ~]# swapon /dev/sdb2 #啟用/dev/sdb2 swap分區 [root@xiaogan ~]# free -m total used free shared buff/cache available Mem: 1985 322 1318 9 344 1487 Swap: 7909 0 7909 [root@xiaogan ~]# swapoff /dev/sdb2 #停用/dev/sdb2 swap分區 [root@xiaogan ~]# free -m total used free shared buff/cache available Mem: 1985 320 1320 9 344 1489 Swap: 4095 0 4095 [root@xiaogan ~]#
第四步:設置開機自動掛載
vim /etc/fstab #編輯啟動掛載文件,添加如下一行:
/dev/sdb2 swap swap defaults 0 0