9.1 (创建文件系统 挂载 swap 卷标 链接ln )

1、复习本次课程所讲的内容;

创建文件系统

mke2fs  [option] ……  DEVICE

mke2fs 

-t    {ext2|ext3|ext4}

-b   {1024|2048|4096}

-L  ‘LABEL’

-j     =  mke2fs -t ext3 开启日志功能

 

文件系统属性查看及调整工具(ext系统)

e2label  查看或设置卷标

e2label DEVICE  [label]



tune2fs   

显示ext系统文件系统的属性,或调整其属性

-l    显示超级块中的信息(显示整个文件的属性及布局等相关信息)

-L   ‘label’  设置卷标

-m  #   调整预留给管理员的管理空间百分比(默认5%)

-j   ext2--> ext3提升,不损害数据

-O   开启过关闭文件系统属性(关闭使用:^属性)   对应: filesystem features  中的属性

-o   文件系统默认挂在选项的启用过关闭    对应:defaultmount options

 

dumpe2fs

-h  仅显示超级块信息

 

文件系统检测工具

fsck  filesystem check  使用方法类似mkfs

-t  type  

fsck.type

    -a  自动修复错误

    -r   交互式修复错误

    -f   强制检测



e2fsck   针对ext文件系统专用检测修复工具

-y    自动回答为“yes”

-f    force  强制检测



文件系统的挂载和使用

kernel-->rootfs(分区)    内核加载根分区

rootfs分区包含:

bin,sbin,etc,lib,lib64,dev,tmp,porc,sys

文件系统挂载

挂载:将额外文件系统与根文件系统某现存的目录建立起关联关系,此目录作为其他文件系统访问的入口

卸载:解除关联关系

 

mount命令

mount  [options]  [-o optoins] DEVICE  MOUNT_POINT

    options  命令选项

    -o optiongs 挂载选项

DEVICE  可以直接写设备文件 /dev/sda# 、卷标-L "abel"   、-U   “UUID"

常用选项:

-t  type

-r   以只读方式挂载

-w   以读写方式挂载

-n   跟个文件系统在挂载时都会自动更新/etc/mtab文件 -n用于进制此功能    

        如果想查看所有挂载的文件系统:cat /porc/mounts

-a   挂载/etc/fstab文件中所有支持自动挂载的文件系统

-B   绑定目录至另一个目录上

 

-o  [options]   挂载选项

async   异步模式

sync    同步模式

atime/noatime  (文件atime更新非常频繁,可以关闭掉noatime)

exec/noexec  是否运行执行此文件系统上应用程序

dev/nodev  是否支持在此设备上使用设备文件

suid/nosuid   允许/禁止使用suid

remount    重新挂载

ro   只读挂载

rw   读写挂载

use/nouser  是否允许普通挂载此设备

acl  是否支持此设备上使用facl



卸载命令

umount  DEVICE

umount   mount_point

 

查看正在访问指定挂载点的进程

fuser -v mount_point

 

终止所有正在访问指定的挂载点的进程

fuser -km mount_point

 

swap 交换分区

free  查看内存和swap使用情况

-m  以MB为单位

-g   以GB为单位

 

创建交换分区:

mkswap  [option] DEVICE   

        -L  LABEL

 

启用交换分区

swapon [option] [device]

-a  激活所有交换分区

-p   priority  设定其优先级

 

禁用交换分区

swap  [option]  [DEVICE]

 

文件系统大、小查看

df   disk free

-h  人性化自动换算大小单位

-i    inode数量

-P  以posix兼容格式输出

 

du   disk usage

-h    human-readable

-s    summary

 

 

文件系统挂载配置文件   /etc/fstab

要挂载的设备或伪文件系统    挂载点  文件系统类型   挂载选项  转储频率   自检次序

 

 

挂载选项defaults即可

转储频频率  0不转储   1每天转储   2每一隔天转储      设置0即可

自检次序   0不自检    1首先自检(通常只有/才为1)    设置为0即可

 

 

文件系统上的链接文件

硬连接

两个路径指向同一个inode,不能对目录进行,不能跨分区进行,删除硬连接至少删除其中一个访问路径,直至删除最后一个才被彻底删除

 

软连接

相当于快捷方式,可以针对目录进行,可以跨分区,对文件创建软连接不会增加其引用计数,删除原文件,软连接也就没有什么用了

 

设置链接

ln  [option]  SRC  DEST

-s   symbolic  link  软连接

-v   verbose

不加选项为硬连接

 

2、总结整理磁盘管理及文件系统管理中设计的各种命令的使用,并附注一定的示例;


fdisk 命令

[root@localhost ~]# 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): m

Command action

   a   toggle a bootable flag

   b   edit bsd disklabel

   c   toggle the dos compatibility flag

   d   delete a partition

   l   list known partition types

   m   print this menu

   n   add a new partition

   o   create a new empty DOS partition table

   p   print the partition table

   q   quit without saving changes

   s   create a new empty Sun disklabel

   t   change a partition's system id

   u   change display/entry units

   v   verify the partition table

   w   write table to disk and exit

   x   extra functionality (experts only)


Command (m for help): 


其实fdisk常用的参数:m帮助  n新建分区  d删除分区  p列出个分区  l列出支持的分区类型  t修改分区id  q不保存退出  w保存退出


partx 讲分区加载到内核(如果分区后没有被内核识别),可以cat /proc/partitions 

[root@localhost ~]# cat /proc/partitions 
major minor  #blocks  name

   8        0   83886080 sda
   8        1     204800 sda1
   8        2   20971520 sda2
   8        3   20971520 sda3
   8        4          1 sda4
   8        5    1048576 sda5
   8       16   41943040 sdb
[root@localhost ~]# partx -a -n 1 /dev/sdb
[root@localhost ~]# cat /proc/partitions 
major minor  #blocks  name

   8        0   83886080 sda
   8        1     204800 sda1
   8        2   20971520 sda2
   8        3   20971520 sda3
   8        4          1 sda4
   8        5    1048576 sda5
   8       16   41943040 sdb
   8       17    5253223 sdb1

上面是我们创建了一个/dev/sdb1分区(内核自动识别,手动删除掉以后演示),或者使用[root@localhost ~]# kpartx -af /dev/sdb 


格式化文件系统、设置卷标

mkfs  或者  mkfs.type

其实mkfs -t ext4就是调用mkfs.ext4

在做实验的过程中遇到了错误:

[root@localhost ~]# mkfs.ext4 /dev/sdb1
mke2fs 1.41.12 (17-May-2010)
/dev/sdb1 is apparently in use by the system; will not make a filesystem here!

解决方法:

[root@localhost ~]# dmsetup status
sdb1: 0 10506447 linear 
[root@localhost ~]# dmsetup remove sdb1    解除绑定

然后就正常了

[root@localhost ~]# mkfs.ext4 -L test /dev/sdb1
mke2fs 1.41.12 (17-May-2010)
Filesystem label=test
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
655776 inodes, 2622603 blocks
131130 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2688548864
81 block groups
32768 blocks per group, 32768 fragments per group
8096 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 30 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

可以在格式化的时候指明卷标,不指明也没有关系,可以用其他工具进行修改(不格式化)


e2label tune2fs  dumpe2fs 都可以修改

e2label专门用来查看或者修改分区卷标,另外两个工具的功能更多些

[root@localhost ~]# e2label /dev/sdb1 'mytest'
[root@localhost ~]# e2label /dev/sdb1
mytest

tune2fs、dumpe2fs 可以显示ext系列文件系统的属性

[root@localhost ~]# tune2fs -l /dev/sdb1
tune2fs 1.41.12 (17-May-2010)
Filesystem volume name:   mytest
Last mounted on:          <not available>
Filesystem UUID:          18235df4-58e9-49ce-b653-b03833a26a4e
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags:         signed_directory_hash
……
[root@localhost ~]# dumpe2fs -h /dev/sdb1 
dumpe2fs 1.41.12 (17-May-2010)
Filesystem volume name:   mytest
Last mounted on:          <not available>
Filesystem UUID:          18235df4-58e9-49ce-b653-b03833a26a4e
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags:         signed_directory_hash

tune2fs也能修改分区的卷标

[root@localhost ~]# tune2fs -L testaaa /dev/sdb1
tune2fs 1.41.12 (17-May-2010)
[root@localhost ~]# e2label /dev/sdb1
testaaa

fsck 、 e2fsck

[root@localhost ~]# e2fsck /dev/sdb1
e2fsck 1.41.12 (17-May-2010)
testaaa: clean, 11/655776 files, 79700/2622603 blocks
[root@localhost ~]# fsck -t ext4 /dev/sdb1
fsck from util-linux-ng 2.17.2
e2fsck 1.41.12 (17-May-2010)
testaaa: clean, 11/655776 files, 79700/2622603 blocks


fsck  filesystem check  使用方法类似mkfs

-t  type  

fsck.type (fsck.ext3  fsck.ext4)

    -a  自动修复错误

    -r   交互式修复错误

    -f   强制检测


e2fsck   针对ext文件系统专用检测修复工具

-y    自动回答为“yes”

-f    force  强制检测



文件系统挂载、卸载  mount

[root@localhost ~]# mount /dev/sdb1 /mnt
[root@localhost ~]# mount
/dev/sda2 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)
/dev/sda1 on /boot type ext4 (rw)
/dev/sda3 on /usr type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
/dev/sdb1 on /mnt type ext4 (rw)
[root@localhost ~]# umount /dev/sdb1
[root@localhost ~]# mount
/dev/sda2 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)
/dev/sda1 on /boot type ext4 (rw)
/dev/sda3 on /usr type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

注意在卸载的时候,如果有进程占用磁盘,那么卸载时会出现错误

可以使用fuser  -vm  DEVICE 进程查看那些进程占用了磁盘

[root@localhost ~]# fuser -vm /dev/sdb1    #查看占用
                     USER        PID ACCESS COMMAND
/dev/sdb1:           root       2124 ..c.. bash
[root@localhost ~]# umount /dev/sdb1
umount: /mnt: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
[root@localhost ~]# fuser -vm /dev/sdb1
                     USER        PID ACCESS COMMAND
/dev/sdb1:           root       2124 ..c.. bash
[root@localhost ~]# fuser -km /dev/sdb1   #结束占用
/dev/sdb1:            2124c
[root@localhost ~]# umount /dev/sdb1
[root@localhost ~]#


mkswap swapon swapoff

删除原来的/dev/sdb1,重新划分分区,过程略

[root@localhost ~]# free -m
             total       used       free     shared    buffers     cached
Mem:           988        143        845          0         17         49
-/+ buffers/cache:         76        912 
Swap:         1023          0       1023

目前swap 1G

[root@localhost ~]# mkswap  /dev/sdb1
Setting up swapspace version 1, size = 5253216 KiB
no label, UUID=c38f12b3-a796-4d8e-ba8c-6b31c0c0b0d8
[root@localhost ~]# swapon /dev/sdb1
[root@localhost ~]# free -m
             total       used       free     shared    buffers     cached
Mem:           988        147        841          0         17         49
-/+ buffers/cache:         80        908 
Swap:         6154          0       6154 
[root@localhost ~]#

可以看到swap分区变成了6154M

卸载也比较简单,swap DEVICE  即可

[root@localhost ~]# swapoff /dev/sdb1
[root@localhost ~]# free -m
             total       used       free     shared    buffers     cached
Mem:           988        143        845          0         17         49
-/+ buffers/cache:         76        912 
Swap:         1023          0       1023 
[root@localhost ~]#

若想永久生效需修改/etc/fstab

[root@localhost ~]# blkid /dev/sdb1

/dev/sdb1: UUID="c38f12b3-a796-4d8e-ba8c-6b31c0c0b0d8" TYPE="swap" 

[root@localhost ~]# 

记住/dev/sdb1的UUID 如下格式添加到/etc/fstab

UUID=c38f12b3-a796-4d8e-ba8c-6b31c0c0b0d8   swap  swap   defaults 0 0 


文件大小查看  df (disk free)  du(disk usage)

[root@localhost ~]# df -hT
Filesystem     Type   Size  Used Avail Use% Mounted on
/dev/sda2      ext4    20G  422M   19G   3% /
tmpfs          tmpfs  495M     0  495M   0% /dev/shm
/dev/sda1      ext4   190M   36M  145M  20% /boot
/dev/sda3      ext4    20G  3.0G   16G  17% /usr
[root@localhost ~]# du -sh /usr
3.0G/usr

软连接&硬连接

[root@localhost tmp]# ln fstab fstab.hl
[root@localhost tmp]# ln -s fstab fstab.sl
[root@localhost tmp]# ll -i
total 32
917550 -rw-r--r-- 2 root root   899 Sep  2 17:19 fstab
917550 -rw-r--r-- 2 root root   899 Sep  2 17:19 fstab.hl
917506 lrwxrwxrwx 1 root root     5 Sep  6 18:47 fstab.sl -> fstab
917553 -rw-r--r-- 1 root root 19697 Sep  6 10:30 functions
917552 -rw------- 1 root root   771 Sep  6 10:15 grub.conf

可以看出硬连接的引用数增加,并且inode号相同,如果删除原文件,硬连接可以继续使用,软连接则不可用


3、创建一个10G的文件系统,类型为ext4,要求开机可自动挂载至/mydata目录

[root@localhost tmp]# fdisk /dev/sdb
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
   l   logical (5 or over)
   p   primary partition (1-4)
l                                #选择逻辑分区
First cylinder (1961-5221, default 1961): 
Using default value 1961
Last cylinder, +cylinders or +size{K,M,G} (1961-5221, default 5221): +10G        #指明分区大小为10G
Command (m for help): w                #保存退出
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@localhost tmp]# mkfs.ext4 /dev/sdb5 
[root@localhost tmp]# mount /dev/sdb5 /mydata/
[root@localhost tmp]# mount
/dev/sda2 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)
/dev/sda1 on /boot type ext4 (rw)
/dev/sda3 on /usr type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
/dev/sdb5 on /mydata type ext4 (rw)

[root@localhost tmp]# blkid /dev/sdb5
/dev/sdb5: UUID="d5a3054c-f00d-4be1-a286-fa0037671bd2" TYPE="ext4" 

[root@localhost tmp]# tail -1 /etc/fstab        #修改/etc/fstab永久生效
UUID=d5a3054c-f00d-4be1-a286-fa0037671bd2   /mydata   ext4 defaults 0 0



你可能感兴趣的:(总结,练习)