Linux的磁盤管理:
Linux的核心:一切介文件: open,read,write,close 塊設備:block,存取單位‘塊’,磁盤 字符設備:char 存取單位‘字符’,鍵盤 設備文件:關聯至一個設備驅動程序,進而能夠跟與之對應硬件設備進行通信: 設備號碼: 主設備號:major number:標識設備類型: 次設備號:minor number:表示同一類型的不同設備: 設備類型基本上都存放在/dev下:使用ls-l可以看到 [root@localhost dev]# ls -l total 0 crw-rw----. 1 root root 10, 57 Jul 14 22:02 autofs drwxr-xr-x. 2 root root 660 Jul 14 22:01 block drwxr-xr-x. 2 root root 60 Jul 14 22:01 bsg drwxr-xr-x. 3 root root 60 Jul 14 22:01 bus drwxr-xr-x. 2 root root 2660 Jul 14 22:02 char crw-------. 1 root root 5, 1 Jul 14 22:01 console lrwxrwxrwx. 1 root root 11 Jul 14 22:01 core -> /proc/kcore drwxr-xr-x. 3 root root 80 Jul 14 22:01 cpu crw-rw----. 1 root root 10, 61 Jul 14 22:01 cpu_dma_latency crw-rw----. 1 root root 10, 62 Jul 14 22:01 crash drwxr-xr-x. 6 root root 120 Jul 14 22:01 disk lrwxrwxrwx. 1 root root 3 Jul 14 22:01 fb -> fb0 crw-rw----. 1 root root 29, 0 Jul 14 22:01 fb0 lrwxrwxrwx. 1 root root 13 Jul 14 22:01 fd -> /proc/self 綜上可以看到前一個代表的主設備號,后面標記這主設備下各個不同的設備: 硬盤接口類型: 并行: IDE:133MB/s SCSI:640MB/s 串口: SATA:6Gbps SAS:6Gbps USB:480MB/s 磁盤設備的設備文件名稱: /dev/DEV_FILE IDE:/dev/hd SCSI,SATA,SAS,USB:/dev/sd 不同設備可以使用:a-z 同一設備上的不同分區:1.2.3。。。。。 機械式硬盤: track:磁道 cylinder:柱面 secotr:扇區 一個扇區=512bytes 綜上所述:按柱面進行分區 ???同一個磁盤只能有3個主分區任意個邏輯分區??? Linux上的分區管理工具:fdisk,parted,sfdisk fdisk:對于單塊硬盤來說,最多只能管理15個分區??! [root@localhost ~]# fdisk -l Disk /dev/sda: 128.8 GB, 128849018880 bytes 255 heads, 63 sectors/track, 15665 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: 0x00073dc7 Device Boot Start End Blocks Id System /dev/sda1 * 1 64 512000 83 Linux Partition 1 does not end on cylinder boundary. /dev/sda2 64 2675 20971520 83 Linux /dev/sda3 2675 3981 10485760 83 Linux /dev/sda4 3981 15666 93858816 5 Extended [root@localhost ~]# fdisk -l /dev/sda1 Disk /dev/sda1: 524 MB, 524288000 bytes 255 heads, 63 sectors/track, 63 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: 0x00000000 使用磁盤參數查看具體每個磁盤的參數: fdisk的命令中的分項: p:print,顯示已有分區 n:new,創建一個新分區 d:delete,刪除 w:write 寫入磁盤并退出 q:quit,放棄更新并退出 m:獲取幫助 l:列表所分區id t:調整分區id 查看內核是否已經識別新的分區: cat/proc/partations [root@localhost ~]# cat /proc/partitions major minor #blocks name 8 0 125829120 sda 8 1 512000 sda1 8 2 20971520 sda2 8 3 10485760 sda3 8 4 1 sda4 8 5 2097152 sda5 8 6 10486742 sda6 通知內核重新讀取硬盤分區表 partx -a /dev/DEVICE [root@localhost ~]# partx -a /dev/sda BLKPG: Device or resource busy error adding partition 1 BLKPG: Device or resource busy error adding partition 2 BLKPG: Device or resource busy error adding partition 3 BLKPG: Device or resource busy error adding partition 4 BLKPG: Device or resource busy error adding partition 5 BLKPG: Device or resource busy error adding partition 6 如果上訴命名不生效的時候可以使用: koartx kpartx -a /dev/DEVICE
Linux文件系統管理:
Linux文件系統:ext2,ext3,ext4,btrfs,swap,xfs,jfs,reiserfs swap:是交換分區,用來將磁盤當內存使用 光盤:iso9660 Windows:fat32,ntfs Unix:FFS,UFS,JFS2 網絡文件系統:NFS,CIFS 集群文件:GFS2,OCFS2 分布式文件系統:cdph, moosefs,mogilefs,gluserFS,Lunstre 根據其是否支持:“journal”功能 日志型文件系統:ext3,ext4,xfs.... 非日志型文件系統:ext2,vfat 文件系統的組成部分: 內核中的模塊:ext4,xfs,vfat 用戶空間的管理工具:mkfs.ext4,mkfs.xfs,mkfs.vfat Linux虛擬文件系統:VFS 查看系統上可以使用的文件系統: cat/proc/filesystems ????這里實驗發現:如果在內核沒有識別新的分區的時候,開始對新分區的磁盤進行格式化,那么系統會報錯,指出系統上沒有此文件無法進行調用,所以對磁盤創建文件系統的時候先使用partx -a對已劃分的磁盤進行內核讀?。。。。??? mkfs命令: (1)mkfs.FS_TYPE /dev/DEVICE ext4 [root@localhost ~]# mkfs.ext4 /dev/sda6 mke2fs 1.41.12 (17-May-2010) warning: 245 blocks unused. Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 656640 inodes, 2621440 blocks 131084 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=2684354560 80 block groups 32768 blocks per group, 32768 fragments per group 8208 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632 Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 33 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. xfs [root@localhost ~]# mkfs.xfs -f /dev/sda5 meta-data=/dev/sda5 isize=256 agcount=4, agsize=655360 blks = sectsz=512 attr=2, projid32bit=1 = crc=0 finobt=0 data = bsize=4096 blocks=2621440, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=0 log =internal log bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 btrfs root@localhost ~]# mkfs.btrfs -f /dev/sda5 btrfs-progs v3.19.1 See http://btrfs.wiki.kernel.org for more information. Turning ON incompat feature 'extref': increased hardlink limit per file to 65536 Turning ON incompat feature 'skinny-metadata': reduced-size metadata extent refs fs created label (null) on /dev/sda5 nodesize 16384 leafsize 16384 sectorsize 4096 size 10.00GiB vfat mke2fs:ext系列文件系統專用管理工具 -t {ext2|ext3|ext4} -b {1024|2048|4096} -L 'LABEL' -j: 相當于 -t ext3 mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3 -i #: 為數據空間中每多少個字節創建一個inode;此大小不應該小于block的大小; -N #:為數據空間創建個多少個inode; -m #: 為管理人員預留的空間占據的百分比; -O FEATURE[,...]:啟用指定特性 -O ^FEATURE:關閉指定特性 mkswap:創建交換分區 mkswap [options] device -L 'LABEL' 前提:調整其分區的ID為82; 其它常用工具: blkid:塊設備屬性信息查看 blkid [OPTION]... [DEVICE] [root@localhost ~]# blkid /dev/sda6 /dev/sda6: LABEL="MYDATA" UUID="2bc19b3c-d451-473e-81ad-e28ed346f844" TYPE="ext4" -U UUID: 根據指定的UUID來查找對應的設備 [root@localhost ~]# blkid -U 2bc19b3c-d451-473e-81ad-e28ed346f844 /dev/sda6 -L LABEL:根據指定的LABEL來查找對應的設備 [root@localhost ~]# blkid -L MYDATA /dev/sda6 e2label:管理ext系列文件系統的LABEL # e2label DEVICE [LABEL] [root@localhost ~]# e2label /dev/sda6 hahah [root@localhost ~]# blkid /dev/sda6 /dev/sda6: LABEL="hahah" UUID="2bc19b3c-d451-473e-81ad-e28ed346f844" TYPE="ext4" tune2fs:重新設定ext系列文件系統可調整參數的值 -l:查看指定文件系統超級塊信息;super block -L 'LABEL':修改卷標 -m #:修預留給管理員的空間百分比 -j: 將ext2升級為ext3 -O: 文件系統屬性啟用或禁用 -o: 調整文件系統的默認掛載選項 -U UUID: 修改UUID號; dumpe2fs: -h:查看超級塊信息 每一個獨立的文件系統都對應了一個超級塊 文件系統檢測: fsck: File System CheCk fsck.FS_TYPE fsck -t FS_TYPE -a: 自動修復錯誤 -r: 交互式修復錯誤 Note: FS_TYPE一定要與分區上已經文件類型相同; e2fsck:ext系列文件專用的檢測修復工具 -y:自動回答為yes; -f:強制修復; :如果U盤既要在Windows上使用又要在linux 上使用文件系統必須為Vfat=fat32
原創文章,作者:wostop,如若轉載,請注明出處:http://www.www58058.com/24932