1,基本概念html
磁盤基本概念:node
磁盤最小存儲單位是扇區(sector),每一個扇區大小爲512bytes,扇區組成一個圓就成爲磁道(track),同一個磁道能夠組成一個磁柱(Cylinder),是分區(partition)最小單位。linux
第一個扇區最重要,裏面有硬盤主引導記錄(Masterbootrecord,MBR)佔有446bytes以及分區表(partition table)佔有64bytes 。shell
磁盤接口類型:vim
IDE (ATA):133MB/s,/dev/hdbash
SCSI: 640MB/s網絡
SATA:6Gbpsapp
SAS:6Gbpsssh
USB:480MB/s async
識別硬盤設備:/dev/sd
標記不一樣的硬盤設備:/dev/sd[a-z]
標記同一設備上的不一樣分區:/dev/sd[a-z][1-]
1-4: 主或擴展分區標識
5+:邏輯分區標識
文件系統基本概念:
VFS(Virtual File System) 虛擬文件系統,也稱爲虛擬文件系統開關(Virtual Filesystem Switch).
這是Linux文件系統對外的接口。任何要使用文件系統的程序都必須經由這層接口來使用它。
Linux:ext2, ext3, ext4, reiserfs, xfs, btrfs, swap
光盤:iso9660
Windows: fat32(vfat), ntfs
Unix: ffs, ufs, jfs, jfs2
網絡文件系統:nfs, cifs
集羣文件系統:ocfs2, gfs2
分佈式文件系統:ceph, moosefs, mogilefs, hdfs, gfs, glusterfs
(1) 日誌型文件系統
非日誌型文件系統:ext2
日誌型文件系統:ext3
(2) swap:交換分區
/etc/fstab
fstab文件包含了你的電腦上的存儲設備及其文件系統的信息。它是決定一個硬盤(分區)被怎樣使用或者說整合到整個系統中的文件。具體來講:用fstab能夠自動掛載各類文件系統格式的硬盤、分區、可移動設備和遠程設備等。
[root@magedu ~]# cat /etc/fstab # # /etc/fstab # Created by anaconda on Sat Sep 12 17:20:15 2015 # # 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 # /dev/mapper/vg_magedu-LogVol02_root / ext4 defaults 1 1 UUID=7095e308-d364-4b36-b2b5-8ae2c5050e13 /boot ext4 defaults 1 2 /dev/mapper/vg_magedu-LogVol00_usr /usr ext4 defaults 1 2 /dev/mapper/vg_magedu-LogVol01_root swap swap defaults 0 0 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 [root@magedu ~]#
2,總結整理磁盤管理及文件系統管理中設計的各類命令的使用,並附註必定的示例;
fdisk :磁盤分區命令
Usage: fdisk [options] <disk> change partition table 分區管理子命令: p: 顯示 n: 建立 d: 刪除 t: 修改分區ID l: 列出全部支持ID類型 w: 保存退出 q: 放棄修改並退出 m: 獲取幫助 [root@magedu home]# fdisk /dev/sda1 Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel with disk identifier 0x42fd0ae6. 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): l 0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris 1 FAT12 39 Plan 9 82 Linux swap / So c1 DRDOS/sec (FAT- 2 XENIX root 3c PartitionMagic 83 Linux c4 DRDOS/sec (FAT- 3 XENIX usr 40 Venix 80286 84 OS/2 hidden C: c6 DRDOS/sec (FAT- 4 FAT16 <32M 41 PPC PReP Boot 85 Linux extended c7 Syrinx 5 Extended 42 SFS 86 NTFS volume set da Non-FS data 6 FAT16 4d QNX4.x 87 NTFS volume set db CP/M / CTOS / . 7 HPFS/NTFS 4e QNX4.x 2nd part 88 Linux plaintext de Dell Utility 8 AIX 4f QNX4.x 3rd part 8e Linux LVM df BootIt 9 AIX bootable 50 OnTrack DM 93 Amoeba e1 DOS access a OS/2 Boot Manag 51 OnTrack DM6 Aux 94 Amoeba BBT e3 DOS R/O b W95 FAT32 52 CP/M 9f BSD/OS e4 SpeedStor c W95 FAT32 (LBA) 53 OnTrack DM6 Aux a0 IBM Thinkpad hi eb BeOS fs e W95 FAT16 (LBA) 54 OnTrackDM6 a5 FreeBSD ee GPT f W95 Ext'd (LBA) 55 EZ-Drive a6 OpenBSD ef EFI (FAT-12/16/ 10 OPUS 56 Golden Bow a7 NeXTSTEP f0 Linux/PA-RISC b 11 Hidden FAT12 5c Priam Edisk a8 Darwin UFS f1 SpeedStor 12 Compaq diagnost 61 SpeedStor a9 NetBSD f4 SpeedStor 14 Hidden FAT16 <3 63 GNU HURD or Sys ab Darwin boot f2 DOS secondary 16 Hidden FAT16 64 Novell Netware af HFS / HFS+ fb VMware VMFS 17 Hidden HPFS/NTF 65 Novell Netware b7 BSDI fs fc VMware VMKCORE 18 AST SmartSleep 70 DiskSecure Mult b8 BSDI swap fd Linux raid auto 1b Hidden W95 FAT3 75 PC/IX bb Boot Wizard hid fe LANstep 1c Hidden W95 FAT3 80 Old Minix be Solaris boot ff BBT 1e Hidden W95 FAT1 Command (m for help): p Disk /dev/sda1: 209 MB, 209715200 bytes 255 heads, 63 sectors/track, 25 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: 0x42fd0ae6 Device Boot Start End Blocks Id System Command (m for help): fdisk [options] -l <disk> list partition table(s) [root@magedu home]# 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: 0x00061f0a Device Boot Start End Blocks Id System /dev/sda1 * 1 26 204800 83 Linux Partition 1 does not end on cylinder boundary. /dev/sda2 26 10469 83886080 8e Linux LVM Disk /dev/mapper/vg_magedu-LogVol02_root: 62.3 GB, 62272831488 bytes 255 heads, 63 sectors/track, 7570 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 Disk /dev/mapper/vg_magedu-LogVol01_root: 2147 MB, 2147483648 bytes 255 heads, 63 sectors/track, 261 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 Disk /dev/mapper/vg_magedu-LogVol00_usr: 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: 0x00000000 [root@magedu home]# fdisk -s <partition> give partition size(s) in blocks [root@magedu /]# fdisk -s /dev/sda1 204800 |
mke2fs - create an ext2/ext3/ext4 filesystem 建立ext2/ext3/ext4文件系統
mke2fs [OPTION]... DEVICE -t {ext2|ext3|ext4} -b {1024|2048|4096} -L 'LABEL' -j: mke2fs -t ext3 -i #: -N #: -m #: 預留磁盤空間佔據多大百分比的空間爲後期管理使用; [root@magedu /]# mke2fs -t ext4 /dev/sda2 將sda2建立爲ext4 [root@magedu /]# mke2fs -j /dev/sda2 將sda2建立爲ext3 |
e2label - Change the label on an ext2/ext3/ext4filesystem
改變卷標
e2label device [ new-label ] [root@magedu ~]#e2label /dev/sda1 /newlabel [root@magedu ~]# e2label /dev/sda1 /newlabel |
blkid 命令:能夠查看塊設備(包括交換分區)的文件系統類型、LABEL、UUID、掛載目錄等信息
o<標籤> 指定輸出格式 (full、value、list\device\udev) -s<標籤> 顯示指定標籤信息 (LABEL、UUID、TYPE) |
tune2fs - adjust tunable filesystem parameters on ext2/ext3/ext4 filesystems
調整或查看文件系統參數
經常使用參數: -l 查看文件系統信息 -c max-mount-counts 設置強制自檢的掛載次數,若是開啓,每掛載一次mount conut就會加1,超過次數就會強制自檢 -i interval-between-checks[d|m|w] 設置強制自檢的時間間隔[d天m月w周] -m reserved-blocks-percentage 保留塊的百分比 -j 將ext2文件系統轉換爲ext3類型的文件系統 -L volume-label 相似e2label的功能,能夠修改文件系統的標籤 -r reserved-blocks-count 調整系統保留空間 -o [^]mount-option[,...] Set or clear the indicated default mount options in the filesystem. 設置或清除默認掛載的文件系統選項 [root@magedu ~]# tune2fs -l /dev/sda1 tune2fs 1.41.12 (17-May-2010) Filesystem volume name: /newlabel Last mounted on: /boot Filesystem UUID: 7095e308-d364-4b36-b2b5-8ae2c5050e13 Filesystem magic number: 0xEF53 Filesystem revision #: 1 (dynamic) Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize Filesystem flags: signed_directory_hash Default mount options: user_xattr acl Filesystem state: clean Errors behavior: Continue Filesystem OS type: Linux Inode count: 51200 Block count: 204800 Reserved block count: 10240 Free blocks: 161714 Free inodes: 51162 First block: 1 Block size: 1024 Fragment size: 1024 Reserved GDT blocks: 256 Blocks per group: 8192 Fragments per group: 8192 Inodes per group: 2048 Inode blocks per group: 256 Flex block group size: 16 Filesystem created: Sat Sep 12 17:19:49 2015 Last mount time: Mon Sep 14 07:01:01 2015 Last write time: Mon Sep 14 07:01:01 2015 Mount count: 8 Maximum mount count: -1 Last checked: Sat Sep 12 17:19:49 2015 Check interval: 0 (<none>) Lifetime writes: 41 MB Reserved blocks uid: 0 (user root) Reserved blocks gid: 0 (group root) First inode: 11 Inode size: 128 Journal inode: 8 Default directory hash: half_md4 Directory Hash Seed: e72c362d-3e7c-4b93-8118-22bea152c516 Journal backup: inode blocks [root@magedu ~]# |
mount - mount a filesystem 掛載文件系統
mount [-t vfstype] [-o options] device dir 1.-t vfstype 指定文件系統的類型 2.-o options 主要用來描述設備或檔案的掛接方式 3.device 要掛接(mount)的設備。 4.dir設備在系統上的掛接點(mount point)。 經常使用參數和選項: -a 加載文件/etc/fstab中設置的全部設備。 -f 不實際加載設備。可與-v等參數同時使用以查看mount的執行過程。 -F 需與-a參數同時使用。全部在/etc/fstab中設置的設備會被同時加載,可加快執行速度。 -h 顯示在線幫助信息。 -L<標籤> 加載文件系統標籤爲<標籤>的設備。 -n 不將加載信息記錄在/etc/mtab文件中。 -o<選項> 指定加載文件系統時的選項。有些選項也可在/etc/fstab中使用。這些選項包括: async 以非同步的方式執行文件系統的輸入輸出動做。 atime 每次存取都更新inode的存取時間,默認設置,取消選項爲noatime。 auto 必須在/etc/fstab文件中指定此選項。執行-a參數時,會加載設置爲auto的設備,取消選取爲noauto。 defaults 使用默認的選項。默認選項爲rw、suid、dev、exec、anto nouser與async。 dev 可讀文件系統上的字符或塊設備,取消選項爲nodev。 exec 可執行二進制文件,取消選項爲noexec。 noatime 每次存取時不更新inode的存取時間。 noauto 沒法使用-a參數來加載。 nodev 不讀文件系統上的字符或塊設備。 noexec 沒法執行二進制文件。 nosuid 關閉set-user-identifier(設置用戶ID)與set-group-identifer(設置組ID)設置位。 nouser 使一位用戶沒法執行加載操做,默認設置。 remount 從新加載設備。一般用於改變設備的設置狀態。 ro 以只讀模式加載。 rw 以可讀寫模式加載。 suid 啓動set-user-identifier(設置用戶ID)與set-group-identifer(設置組ID)設置位,取消選項爲nosuid。 sync 以同步方式執行文件系統的輸入輸出動做。 user 可讓通常用戶加載設備。 -r 以只讀方式加載設備。 -t<文件系統類型> 指定設備的文件系統類型。經常使用的選項說明有: minix Linux最先使用的文件系統。 ext2 Linux目前的經常使用文件系統。 msdos MS-DOS 的 FAT。 vfat Win85/98 的 VFAT。 nfs 網絡文件系統。 iso9660 CD-ROM光盤的標準文件系統。 ntfs Windows NT的文件系統。 hpfs OS/2文件系統。Windows NT 3.51以前版本的文件系統。 auto 自動檢測文件系統。 -v 執行時顯示詳細的信息。 -V 顯示版本信息。 -w 以可讀寫模式加載設備,默認設置。 [root@magedu ~]# mount -l /dev/mapper/vg_magedu-LogVol02_root on / type ext4 (rw) proc on /proc type proc (rw) sysfs on /sys type sysfs (rw) devpts on /dev/pts type devpts (rw,gid=5,mode=620) tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0") /dev/sda1 on /boot type ext4 (rw) [/newlabel] /dev/mapper/vg_magedu-LogVol00_usr on /usr type ext4 (rw) none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw) [root@magedu ~]# cd /media/ [root@magedu media]# mkdir cdrom [root@magedu media]# mount -r /dev/cdrom /media/cdrom/ [root@magedu media]# cd cdrom/ [root@magedu cdrom]# ls CentOS_BuildTag RELEASE-NOTES-en-US.html EFI repodata EULA RPM-GPG-KEY-CentOS-6 GPL RPM-GPG-KEY-CentOS-Debug-6 p_w_picpaths RPM-GPG-KEY-CentOS-Security-6 isolinux RPM-GPG-KEY-CentOS-Testing-6 Packages TRANS.TBL [root@magedu cdrom]# |
umount:卸載命令
# umount DEVICE # umount MOUNT_POINT |
free - Display amount of free and used memory in the system
顯示系統使用和空閒的內存狀況,包括物理內存、交互區內存(swap)和內核緩衝區內存
經常使用選項: -b 顯示內存的單位爲字節 -k 顯示內存的單位爲 KB -m 顯示內存的單位爲 M -o 忽略緩衝區調節列 -t 總和信息 -s<時間> 每隔指定時間執行一次命令,單位爲s -h 以可讀形式顯示容量,須要free -V顯示版本大於3.3 -V 版本信息 [root@magedu cdrom]# free total used free shared buffers cached Mem: 1004772 160480 844292 196 8096 43788 -/+ buffers/cache: 108596 896176 Swap: 2097148 0 2097148 [root@magedu cdrom]# free -m total used free shared buffers cached Mem: 981 156 824 0 7 42 -/+ buffers/cache: 106 875 Swap: 2047 0 2047 [root@magedu cdrom]# |
mkswap:建立交換分區
mkswap [option] DEVICE
-L 'LABEL'
swapon:啓用交換分區
swapon [option] [DEVICE]
-a: 激活全部交換分區
-p PRIORITY: 設定其優先級;
swapoff:禁用交換分區
swapoff [option] [DEVICE]
df - report file system disk space usage 報告文件系統磁盤空間的使用狀況
-h: human-readable -i: inode數量 -P: 以Posix兼容的格式輸出 [root@magedu ~]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/vg_magedu-LogVol02_root 59727996 380392 56306940 1% / tmpfs 502384 0 502384 0% /dev/shm /dev/sda1 194241 32527 151474 18% /boot /dev/mapper/vg_magedu-LogVol00_usr 20511356 785916 18676864 5% /usr /dev/sr0 3803432 3803432 0 100% /media/cdrom [root@magedu ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_magedu-LogVol02_root 57G 372M 54G 1% / tmpfs 491M 0 491M 0% /dev/shm /dev/sda1 190M 32M 148M 18% /boot /dev/mapper/vg_magedu-LogVol00_usr 20G 768M 18G 5% /usr /dev/sr0 3.7G 3.7G 0 100% /media/cdrom |
du - estimate file space usage 查詢檔案或目錄的磁盤使用空間
-h: human-readable -s: summary [root@magedu home]# du -sh /etc/ /var/ /lib 29M /etc/ 86M /var/ 168M /lib |
三、建立一個10G的文件系統,類型爲ext4,要求開機可自動掛載至/mydata目錄
[root@magedu ~]# fdisk /dev/sda 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 p primary partition (1-4) p Partition number (1-4): 3 First cylinder (10469-15665, default 10469): Using default value 10469 Last cylinder, +cylinders or +size{K,M,G} (10469-15665, default 15665): +10G Command (m for help): p 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: 0x00061f0a Device Boot Start End Blocks Id System /dev/sda1 * 1 26 204800 83 Linux Partition 1 does not end on cylinder boundary. /dev/sda2 26 10469 83886080 8e Linux LVM /dev/sda3 10469 11774 10482751 83 Linux Command (m for help): w \\保存修改 The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: 設備或資源忙. The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8) Syncing disks. [root@magedu ~]# partx -a /dev/sda \\刷新分區表 BLKPG: Device or resource busy error adding partition 1 BLKPG: Device or resource busy error adding partition 2 [root@magedu ~]# 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 [root@magedu ~]# cat /proc/partitions major minor #blocks name 8 0 125829120 sda 8 1 204800 sda1 8 2 83886080 sda2 8 3 10482751 sda3 253 0 60813312 dm-0 253 1 2097152 dm-1 253 2 20971520 dm-2 [root@magedu ~]# mke2fs -t ext4 /dev/sda3 \\將sda3格式化爲ext4 mke2fs 1.41.12 (17-May-2010) 文件系統標籤= 操做系統:Linux 塊大小=4096 (log=2) 分塊大小=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 655360 inodes, 2620687 blocks 131034 blocks (5.00%) reserved for the super user 第一個數據塊=0 Maximum filesystem blocks=2684354560 80 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 正在寫入inode表: 完成 Creating journal (32768 blocks): 完成 Writing superblocks and filesystem accounting information: 完成 This filesystem will be automatically checked every 27 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. [root@magedu ~]# blkid /dev/sda3 \\查看sda3屬性信息 /dev/sda3: UUID="ac93c457-4fb2-467d-aa86-aeb966a4741c" TYPE="ext4" [root@magedu ~]# [root@magedu ~]# [root@magedu ~]# cd /mydata/ [root@magedu mydata]# ls [root@magedu mydata]# [[root@magedu mydata]# vim /etc/fstab \\修改fstab # # /etc/fstab # Created by anaconda on Sat Sep 12 17:20:15 2015 # # 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 # /dev/mapper/vg_magedu-LogVol02_root / ext4 defaults 1 1 UUID=7095e308-d364-4b36-b2b5-8ae2c5050e13 /boot ext4 defaults 1 2 /dev/mapper/vg_magedu-LogVol00_usr /usr ext4 defaults 1 2 /dev/mapper/vg_magedu-LogVol01_root swap swap defaults 0 0 /dev/sda3 /mydata etx4 defaults 0 0 \\加入 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 [root@magedu mydata]# reboot \\重啓 Broadcast message from root@magedu (/dev/pts/0) at 9:12 ... The system is going down for reboot NOW! [root@magedu mydata]# Connection closed by foreign host. Disconnected from remote host(192.168.3.10:22) at 01:12:38. Type `help' to learn how to use Xshell prompt. [c:\~]$ ssh root@192.168.3.10 Connecting to 192.168.3.10:22... Connection established. To escape to local shell, press 'Ctrl+Alt+]'. Last login: Mon Sep 14 09:13:21 2015 from 192.168.3.7 [root@magedu ~]# cd /mydata/ [root@magedu mydata]# ll \\成功掛載 總用量 16 drwx------. 2 root root 16384 9月 14 09:08 lost+found [root@magedu mydata]# mount -l /dev/mapper/vg_magedu-LogVol02_root on / type ext4 (rw) proc on /proc type proc (rw) sysfs on /sys type sysfs (rw) devpts on /dev/pts type devpts (rw,gid=5,mode=620) tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0") /dev/sda1 on /boot type ext4 (rw) [/newlabel] /dev/mapper/vg_magedu-LogVol00_usr on /usr type ext4 (rw) /dev/sda3 on /mydata type ext4 (rw) none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw) [root@magedu mydata]#