在今天這個數位化時代,資料的儲存和管理變得越來越重要。而對於 Linux 用戶來說,硬碟管理更是個不可避免的議題。然而,初學者往往會因為 Linux 硬碟管理的複雜性而陷入困境。別擔心,這篇文章將會教你如何優雅地管理硬碟,讓你輕鬆駕馭 Linux 系統。
#Linux掛載新硬碟
1、查看硬碟資訊
指令:
fdisk -l # fdisk -l Disk /dev/vda: 21.5 GB, 21474836480 bytes #第一块硬盘的信息和分区信息 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x0003a7b4 Device Boot Start End Blocks Id System /dev/vda1 * 1 2611 20970496 83 Linux Disk /dev/vdb: 107.4 GB, 107374182400 bytes #第二块硬盘的信息和分区信息 16 heads, 63 sectors/track, 208050 cylinders Units = cylinders of 1008 * 512 = 516096 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000
2、建立新硬碟分割區
指令:
fdisk /dev/vdb # fdisk /dev/vdb Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel with disk identifier 0x1e694286. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): n Command action e extended #e为创建扩展分区 p primary partition (1-4) #p为创建逻辑分区 p Partition number (1-4): 1 #在这里输入1,就进入划分逻辑分区阶段了; First cylinder (1-208050, default 1): 1 #分区的Start 值,这里最好直接按回车,否则可能会造成空间浪费; Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-208050, default 208050): 208050 #分区的Over值,我就分一个区 Using default value 208050 Command (m for help): w #最后输入w回车保存退出。 The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
fdisk可以用m指令來看fdisk指令的內部指令;
a:指令指定啟動分割區;
d:指令刪除一個存在的分割區;
l:指令顯示分區ID號碼的清單;
m:查看fdisk指令幫助;
n:命令建立一個新分區;
p:指令顯示分區清單;
t:指令修改分區的類型ID號;
w:命令是將對分區表的修改記憶體讓它發生作用;
3、確認新分割區資訊
指令:
fdisk -l # fdisk -l Disk /dev/vda: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x0003a7b4 Device Boot Start End Blocks Id System /dev/vda1 * 1 2611 20970496 83 Linux Disk /dev/vdb: 107.4 GB, 107374182400 bytes 16 heads, 63 sectors/track, 208050 cylinders Units = cylinders of 1008 * 512 = 516096 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x1e694286 Device Boot Start End Blocks Id System /dev/vdb1 1 208050 104857168+ 83 Linux #刚创建好的分区信息
4、格式化分割區
#指令:
mkfs.ext4 /dev/vdb1 # mkfs.ext4 /dev/vdb1 mke2fs 1.41.12 (17-May-2010) Filesystem label= #文件系统标签 OS type: Linux #操作系统类型 Block size=4096 (log=2) #块大小 Fragment size=4096 (log=2) #分块大小 Stride=0 blocks, Stripe width=0 blocks 6553600 inodes, 26214292 blocks 1310714 blocks (5.00%) reserved for the super user First data block=0 #第一个数据块 Maximum filesystem blocks=4294967296 800 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872 Writing inode tables: done #写入inode表 Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 26 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.
Linux的分割區類型介紹:
隨著Linux系統在現在業務中的應用,Linux檔案系統的弱點也漸漸顯露出來了,其中系統缺省使用的ext2檔案系統是非日誌檔案系統。這在關鍵產業的應用是一個致命的弱點.而Ext3檔案系統是直接從Ext2檔案系統發展而來,目前ext3檔案系統已經非常穩定可靠。它完全相容於Ext2檔案系統。
Ext3的特性:高可用性、資料的完整性、資料的完整性、資料轉換、多種日誌模式
同樣的Ext4完全相容於Ext3,相對於Ext3來說,Ext4支援更大的存儲,Ext3目前所支援的最大16TB檔案系統和最大2TB文件,而Ext4分別支援1EB的文件系統,以及16TB 的文件,還有就是Ext3目前只支援32,000個子目錄,而Ext4支援無限數量的子目錄,Ext4引入了現代檔案系統中流行的extents概念,每個extent 為一組連續的資料區塊,上述檔案則表示為「該檔案數據保存在接下來的25,600個資料塊中”,提高了不少效率。
5、建立掛載目錄
指令:
mkdir /data
6、掛載分割區
指令:
mount /dev/vdb1 /data
7、查看硬碟大小以及掛載分割區
指令:
df -Th # df -Th Filesystem Type Size Used Avail Use% Mounted on /dev/vda1 ext4 20G 1.1G 18G 6% / tmpfs tmpfs 3.9G 0 3.9G 0% /dev/shm /dev/vdb1 ext4 99G 60M 94G 1% /data #新挂载的分区
8、設定開機自動掛載
指令:
vim /etc/fstab /dev/vdb1 /data ext4 defaults 1 1 # blkid /dev/vda1: UUID="b7aae0d4-268c-4b60-914a-f3b48e22819c" TYPE="ext4" /dev/vdb1: UUID="5de835dd-5322-46f0-8728-3d4ae7d83b54" TYPE="ext4" # cat /etc/fstab # # /etc/fstab # Created by anaconda on Tue Mar 27 04:51:55 2018 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # UUID=b7aae0d4-268c-4b60-914a-f3b48e22819c / ext4 defaults 1 1 UUID=5de835dd-5322-46f0-8728-3d4ae7d83b54 /data ext4 defaults 1 1 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
Swap分割區
#Swap分割其實和Windows上的虛擬記憶體一樣,Swap分割區在系統的實體記憶體不夠用的時候,把實體記憶體中的一部分空間釋放出來,以供目前執行的程式使用。那些被釋放的空間可能來自一些很長時間沒有什麼操作的程序,這些被釋放的空間被暫時保存到Swap分區中,等到那些程序要運行時,再從Swap分區中恢復保存的數據到內存中。
下面介紹兩種建立swap的方法:
•新磁碟分割區作為swap分割區
•用檔案作為Swap分區
新磁碟分割區作為swap分割區
1.用fdisk指令對磁碟進行分割區,新增swap分割區,新建分割區,在fdisk中用「t」指令將新添的分割區id改為82
(Linux swap類型)
2.格式化swap分割區,這裡的sdb2要看您加完後p指令顯示的實際分割區設備名稱
mkswap /dev/sdb1
3.啟動新的swap分割區
swapon /dev/sdb1
4.讓系統啟動時能自動啟用這個交換分區,可以編輯/etc/fstab,加入下面一行
/dev/sdb1 swap swap defaults 0 0
用檔案當Swap分割區
1.建立要作為swap分區的檔案:增加1GB大小的交換分區,則命令寫法如下,其中的count等於想要的區塊的數量(bs*count=檔案大小)。
dd if=/dev/zero of=/root/swapfile bs=1M count=1024
2.格式化為交換分割區文件,建立swap的檔案系統:
mkswap /root/swapfile
3.用交換分區檔案:
swapon /root/swapfile
4.使系統開機時自啟用,在檔案/etc/fstab中新增一行:
/root/swapfile swap swap defaults 0 0
總之,針對 Linux 的硬碟管理工具非常多元且強大。對於初學者來說,使用基本指令就足夠 daily 使用了。對於想要更深入了解的用戶,還有許多進階的方法和技巧等著你去探索。希望這篇文章能對你有幫助,讓你在使用 Linux 系統時更加得心應手。
以上是硬碟儲存之王Linux – 如何優雅地管理硬碟?的詳細內容。更多資訊請關注PHP中文網其他相關文章!