Linux學習筆記九:磁盤分區與文件系統
阿新 • • 發佈:2019-03-26
方式 默認 label 掛載設備 文件的 gdisk part 生成 grub.con disk partitions & filesystem
---磁盤分區與文件系統---
分區
磁盤分區方法:主流MBR & GPT parted fdisk:2T以內 gdisk:更大的分區 查看分區表的四種方法: lsblk: cat /proc/partitions: cat /dev/sd* fdisk -l /dev/sda 這個命令查看的是硬盤裏的信息,上面三種都是查看內存,可能存在不同步的情況! 如何同步內存的分區表信息? centos6: 新增加了分區同步:partx -a /dev/sda 新刪除了分區同步:partx -d --nr 6 /dev/sda 刪除了第6個分區 centos7:直接使用該命令同步: partprobe fdisk使用: -l /dev/sd* 查看disk相關信息: centos7:size,sector,I/O,parttions,disk label type(dos/gpt)... centos6:size,head,sectors,track,cylinder,disk label type... 註:centos6按照柱面劃分,centos7按照扇區劃分。 n:創建新分區 d:刪除 p:打印分區表 q:不存盤退出 w:存盤退出 t:修改ID centos7: 主分區:83 swap:82(ext) extend:5 LVM:8e swap:19(GPT) gdisk:與fdisk指令類似
創建文件系統
為什麽創建文件系統?怎麽查看?怎麽使用文件系統? 使用:調用虛擬文件系統提供的命令接口 查看:lsblk -f 或者 blkid 磁盤分區完成後沒有任何信息,文件系統將磁盤以文件的方式組織和管理。 查看Linux內核支持的文件系統: ls /lib/modules/3.10.0-693.el7.x86_64/kernel/fs/ 目前常用的:ext4,fat,nfs,xfs,ceph,iso9660(光盤)... ceph:分布式文件系統 數據有冗余,數據的一部分是在好幾臺服務器上有備份,可恢復。 centos6:ext4 >ext2 有日誌功能,掉電數據不會丟失。 centos7:xfs 創建(格式化):mkfs.xfs /dev/sdb1 -f 文件系統創建完成,會生成一些元素據等。 -L "卷標" 建議寫掛載點的名字 如:mkfs.xfs -L "/mnt/dsb1" /dev/sdb1 mke2fs也可以創建ext文件系統,不建議使用了。 tune2fs -l /dev/sdb2 查看分區的屬性信息,只支持ext系統 centos6:人為創建的分區,沒有acl功能。tune2fs -o acl /dev/sdb1添加acl屬性 需重新掛載生效 filesystem state:clean 表明沒有問題 如何破壞ext4文件系統並修復? 1:為/dev/sdb2分區創建ext4文件系統,並掛載 mkfs.ext4 -L "/mnt/sdb2" /devsdb2 2:dd 修改/dev/sdb2 dd if=/dev/zero of=/dev/sdb2 bs=10M count=1 3:fsch修復,重新掛載 fsck.ext4 /dev/sdb2 -y mount /dev/sdb2 /mnt/sdb2/ 但是目錄中原來的文件可能丟失了 查看塊組和節點表和超級快:dumpe2fs /dev/sda1|less 根據UUID查找分區:blkid -U `sed -nr ‘/^UUID/s/UUID=(.*) \/data.*$/\1/p‘ /etc/fstab` blkid:查看分區,LABEL,UUID,mount,filesystem... [root@chenxu ~]# blkid /dev/sdb2 /dev/sdb2: LABEL="/mnt/sdb2" UUID="5b14eaf9-2ebf-4373-9e99-6a702ab207eb" TYPE="ext4"
掛載:
一個設備可以有多個掛載點,多個設備不能掛載到一個目錄,通常掛載點應該為空目錄 umount時,掛載目錄被其他人占用(busy)怎麽辦? 查看:lsof /mnt/sdb2/ fuser -v /mnt/sdb2 踢出:fuser -km /mnt/sdb2 查看目錄是否有掛載:findmnt /mnt/sdb2 掛載:建議使用UUID,因為唯一 mount常用命令選項: -r: r -w: r + w -n:不更新/etc/mtab,影藏掛載(centos6有效) -a:自動掛載/etc/fstab中定義的的掛載設備 -U:UUID -L:LABEL -B:綁定目錄到另外一個目錄 -o:可以添加一些子選項 acl, remount, ro, noatime, nodiratime,noexec... 一些後面虛擬化會用到的知識: centos7: 1:創建稀疏文件 dd if=/dev/zero of=vdisk.img bs=1M count=1 seek=2048 創建一個2G的稀疏文件, 2:文件模擬硬盤掛載 1:mkfs.ext4 /data/vdisk.img 創建ext4文件系統 2:mount /data/vdisk.img /mnt/vdisk 掛載 3:df 查看 /dev/loop0 1998608 6144 1871224 1% /mnt/vdisk 默認第一個設備名為/dev/loop0,與centos不同,系統可以根據文件掛載自動生成相應的/dev/loop*, centos6需要掛載時指定。 centos6: 1:centos6默認有loop0~loop7 8個換回設備 2:將loop設備與文件綁定 losetup /dev/loop0 /data/vdisk.img 3:掛載 mount /dev/loop0 /mnt/vdisk 4:查看:df /dev/loop0 1108144 1424 1048764 1% /mnt/vdisk 修改默認loop設備數量:vim /boot/grub/grub.conf <-- max_loop=100 需要重啟 永久掛載: 寫入:/etc/fstab UUID:mount point:filesystem:options:backup天數:check /etc/fstab文件故障導致系統無法啟動修復: centos6:默認/以只讀方式掛載,需要mount -o rw,remount centos7:是r + w Swap作用: [root@chenxu ~]# free -h total used free shared buff/cache available Mem: 1.9G 256M 89M 9.3M 1.6G 1.5G Swap: 3.0G 0B 3.0G [root@chenxu ~]# dd if=/dev/zero of=/dev/null bs=4G count=1 0+1 records in 0+1 records out 2147479552 bytes (2.1 GB) copied, 7.95993 s, 270 MB/s 添加swap分區後,生效:swapon -a 關閉swap:swapoff 查看swap:cat /proc/swaps 如何把文件當作swap使用? 1,mkswap /data/swapfile 2,swapon -a 3,chmod 600 /data/swapfile 4,swapon -s 查看 測試硬盤速度? 1012 dd if=/dev/zero of=/data/f1 bs=1024 count=1000000 conv=fdatasync 1013 dd if=/dev/zero of=/data/f2 bs=2048 count=500000 conv=fdatasync 1014 dd if=/dev/zero of=/data/f3 bs=4096 count=250000 conv=fdatasync 1015 dd if=/dev/zero of=/data/f4 bs=1024 count=1000000 conv=fdatasync 如何清除一個磁盤的分區信息? 用dd直接清空/dev/sd*的前512字節即可。
Linux學習筆記九:磁盤分區與文件系統