ma系列之-17-磁盘和文件系统2

1 mount umount

mount 介绍:

挂载:将新的文件系统关联至当前根文件系统
卸载:将某文件系统与当前根文件系统的关联关系预以移除;


mount:挂载
命令写法:
mount 设备 挂载点    
 设备可以有以下几种:
 1 设备文件:/dev/sda5
 2 卷标:LABEL=“”
 3 UUID: UUID=“”
 
 挂载点:就是目录
 要求:
 1、此目录没有被其它进程使用;
 2、目录得事先存在;
 3、目录中的原有的文件将会暂时隐藏;

eg--->     mnt一般是用来挂在额外其他分区系统/文件系统
# mkdir /mnt/test
# mount /dev/sda5 /mnt/test
# cd /mnt/test   任何一个新建的刚格式化完的文件系统,其下应该有 lost+found
# ll
total 20
drwxr-xr-x  5 root root  4096 Jul 21 23:23 hadoop
drwx------. 2 root root 16384 Jul 20 20:35 lost+found
 
# 卸载刚才的挂在如下
# umount /dev/sda5  或者 
# umount /mnt/test  都可以, 注意卸载的时候 当前设备没有进程在使用


mount: 显示当前系统已经挂载的设备及挂载点 , 这个功效等同于  df -lh 
mount [options] [-o options] DEVICE MOUNT_POINT
eg:
[root@chinadaas109 disk5]# mount
/dev/sda3 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/efi type vfat (rw,umask=0077,shortname=winnt)
/dev/sdb1 on /mnt/disk1 type ext4 (rw)
/dev/sdc1 on /mnt/disk2 type ext4 (rw)
/dev/sdd1 on /mnt/disk3 type ext4 (rw)
/dev/sde1 on /mnt/disk4 type ext4 (rw)
/dev/sdf1 on /mnt/disk5 type ext4 (rw)
/dev/sdg1 on /mnt/disk6 type ext4 (rw)
/dev/sdh1 on /mnt/disk7 type ext4 (rw)
/dev/sda2 on /mnt/disk8 type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
nfsd on /proc/fs/nfsd type nfsd (rw)
ramfs on /mnt/ramdisk/ngmr/ngmr type ramfs (rw,size=63g)

下面是mount命令的参数:

 -a: 表示挂载/etc/fstab文件中定义的所有文件系统
 -n: 默认情况下,mount命令每挂载一个设备,都会把挂载的设备信息保存至/etc/mtab文件;使用—n选项意味着挂载设备时,不把信息写入此文件;
 -t FSTYPE: 指定正在挂载设备上的文件系统的类型;不使用此选项时,mount会调用blkid命令获取对应文件系统的类型;
 -r: 只读挂载,挂载光盘时常用此选项
 -w: 读写挂载
 
 -o: 指定额外的挂载选项,也即指定文件系统启用的属性;
 remount: 重新挂载当前文件系统
 ro: 挂载为只读
 rw: 读写挂载
 
 
 
挂载完成后,要通过挂载点访问对应文件系统上的文件;

umount介绍:

挂载:将新的文件系统关联至当前根文件系统
卸载:将某文件系统与当前根文件系统的关联关系预以移除;


mount:挂载
命令写法:
mount 设备 挂载点    
 设备可以有以下几种:
 1 设备文件:/dev/sda5
 2 卷标:LABEL=“”
 3 UUID: UUID=“”
 
 挂载点:就是目录
 要求:
 1、此目录没有被其它进程使用;
 2、目录得事先存在;
 3、目录中的原有的文件将会暂时隐藏;

eg--->     mnt一般是用来挂在额外其他分区系统/文件系统
# mkdir /mnt/test
# mount /dev/sda5 /mnt/test
# cd /mnt/test   任何一个新建的刚格式化完的文件系统,其下应该有 lost+found
# ll
total 20
drwxr-xr-x  5 root root  4096 Jul 21 23:23 hadoop
drwx------. 2 root root 16384 Jul 20 20:35 lost+found
 
# 卸载刚才的挂在如下
# umount /dev/sda5  或者 
# umount /mnt/test  都可以, 注意卸载的时候 当前设备没有进程在使用


mount: 显示当前系统已经挂载的设备及挂载点 , 这个功效等同于  df -lh 
mount [options] [-o options] DEVICE MOUNT_POINT
eg:
[root@chinadaas109 disk5]# mount
/dev/sda3 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/efi type vfat (rw,umask=0077,shortname=winnt)
/dev/sdb1 on /mnt/disk1 type ext4 (rw)
/dev/sdc1 on /mnt/disk2 type ext4 (rw)
/dev/sdd1 on /mnt/disk3 type ext4 (rw)
/dev/sde1 on /mnt/disk4 type ext4 (rw)
/dev/sdf1 on /mnt/disk5 type ext4 (rw)
/dev/sdg1 on /mnt/disk6 type ext4 (rw)
/dev/sdh1 on /mnt/disk7 type ext4 (rw)
/dev/sda2 on /mnt/disk8 type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
nfsd on /proc/fs/nfsd type nfsd (rw)
ramfs on /mnt/ramdisk/ngmr/ngmr type ramfs (rw,size=63g)

下面是mount命令的参数:

 -a: 表示挂载/etc/fstab文件中定义的所有文件系统
 -n: 默认情况下,mount命令每挂载一个设备,都会把挂载的设备信息保存至/etc/mtab文件;使用—n选项意味着挂载设备时,不把信息写入此文件;
 -t FSTYPE: 指定正在挂载设备上的文件系统的类型;不使用此选项时,mount会调用blkid命令获取对应文件系统的类型;
 -r: 只读挂载,挂载光盘时常用此选项
 -w: 读写挂载
 
 -o: 指定额外的挂载选项,也即指定文件系统启用的属性;
 remount: 重新挂载当前文件系统
 ro: 挂载为只读
 rw: 读写挂载
 
 
 
挂载完成后,要通过挂载点访问对应文件系统上的文件;

mount umount练习:

1、创建一个2G的分区,文件系统为ext2,卷标为DATA,块大小为1024,预留管理空间为磁盘分区的8%;挂载至/backup目录,要求使用卷标进行挂载,
且在挂载时启动此文件系统上的acl功能;
# mke2fs -L DATA -b 1024 -m 8  /dev/sda7


# mount -o acl LABEL=DATA /backup


# tune2fs -o acl /dev/sda7
# mount LABEL=DATA /backup


2、将此文件系统的超级块中的信息中包含了block和inode的行保存至/tmp/partition.txt中;
# tune2fs -l | egrep -i  "block|inode" >> /tmp/partition.txt  
# dumpe2fs -h |
3、复制/etc目录中的所有文件至此文件系统;而后调整此文件系统类型为ext3,要求不能损坏已经复制而来的文件;
# cp -r /etc/*  /backup
# tune2 -j /dev/sda7
4、调整其预留百分比为3%;
# tune2fs -m 3 -L DATA /dev/sda7
5、以重新挂载的方式挂载此文件系统为不更新访问时间戳,并验正其效果;
# stat /backup/inittab
# cat /backup/inittab
# stat
 
# mount -o remount,noatime /backup
# cat 
# stat


6、对此文件系统强行做一次检测;
e2fsck -f /dev/sda7
7、删除复制而来的所有文件,并将此文件系统重新挂载为同步(sync);而后再次复制/etc目录中的所有文件至此挂载点,体验其性能变化;
# rm -rf /backup/*
# mount -o remount,sync /backup
# cp -r /etc/* /backup

2 swap 介绍

概念:

磁盘交换空间的使用,允许了内存的过载使用,是作为应急使用的方式, 在linux中,交换空间必须是一个单独的分区,这个分区就是swap。
将内存的数据放到磁盘的过程---> page out
将磁盘的数据放到硬盘的过程---> page in

操作图:



 free 命令

free : 查看系统中物理内存和交换空间的使用情况
[root@chinadaas13 ~]# free   默认单位为b
             total       used       free     shared    buffers     cached
Mem:      65961460    1622208   64339252          0     157716     652420
-/+ buffers/cache:     812072   65149388    -的看法流程:used个数-buffers个数-cached个数=812072    +的看法流程: free的个数+buffers个数+cached个数
Swap:     20479992          0   20479992

[root@chinadaas13 ~]# free  -m 则是以m为单位来展示数据

创建交换分区的  mkswap命令:

创建之前使用fdisk命令中,调整分区类型为82;
# mkswap /dev/sda8
 -L LABEL(卷标)

# swapon /dev/sda8    启动这个交换分区
 -a:启用所有的定义在/etc/fstab文件中的交换设备
# swapoff /dev/sda8   关闭这个交换分区

dd命令:

复制文件,依照操作数转换并格式化, 
 if=数据来源
 of=数据存储目标
 bs=1  单位为字节
 count=2 一共复制多少个bs
 seek=#: 创建数据文件时,跳过的空间大小;
eg:
# dd if=/dev/sda of=/mnt/usb/mbr.backup bs=512 count=1  备份sda的mbr信息的最开始512字节到mbr.backup
# dd if=/mnt/usb/mbr.backup of=/dev/sda bs=512 count=1  还原sda的mbr信息到/dev/sda的最开始位置




dd和copy的异同:
类似于copy功能,但是copy是以文件为单位来copy,将文件通过VFS拷贝到内存后再写到linux的另一个文件中。  
dd拷贝的是底层的数据流,不通过VFS(虚拟文件系统),能够直接复制文件的一部分。 

 dd + mkswap 组合创建交换分区

# dd if=/dev/zero of=/var/swapfile bs=1M count=1024  创建一个大小为1G的虚拟镜像文件。
# mkswap /var/swapfile  创建swap文件
# swapon /var/swapfile 开启swap文件分区
# free -m 能看到swap的使用大小

 
 

 手动挂载: /etc/fstab 配置文件

文件系统的配置文件/etc/fstab
 OS在初始时,会自动挂载此文件中定义的每个文件系统
# cat  /etc/fstab 
UUID=9fe34b73-3d6c-4128-92ea-6ce8b4bf4b9c /mnt/disk1              ext4    defaults        1 2
UUID=4b1d51cc-905d-4ee3-8ffb-67a5a3e8f55b /mnt/disk2              ext4    defaults        1 2
UUID=131303e4-73c3-4f45-91b5-ab0ddb767878 /mnt/disk3              ext4    defaults        1 2
UUID=25fabccf-2f89-4ae4-80e0-72fa80da2ea2 /mnt/disk4              ext4    defaults        1 2
UUID=fc39ffcc-6c5e-4f5b-9a25-d2938c72f2b9 /mnt/disk5              ext4    defaults        1 2
UUID=53d11b35-ccde-44cc-98ef-d8661748bd33 /mnt/disk6              ext4    defaults        1 2
UUID=f0be36e6-9311-4d47-8baa-b6b4e5601200 /mnt/disk7              ext4    defaults        1 2
UUID=96bf87b9-a28d-4de9-8f53-b4b379776ed5 /mnt/disk8              ext4    defaults        1 2
UUID=a7e0f977-dc9a-4419-9cc0-0c4d10d6b481 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

此文件的字段含义如下:
要挂载的设备 挂载点 文件系统类型 挂载选项 转储频率(每多少天做一次完全备份 0不备份 1每天都备份 2每2天一次 3每3天一次...) 文件系统检测次序(只有根可以为1) 



 
如果手动在/etc/fstab中添加如下行,
/dev/sda5 /mnt/test ext3 defaults 0 0
那么执行命令 mount -a(挂载/etc/fstab文件中定义的所有文件系统) 就能挂载到新增加的这行记录。

练习:

创建一个本地回环文件/var/swaptemp/swapfile来用于swap,要求大小为512MB,卷标为SWAP-FILE,且开机自动启用此交换设备;
# mkdir /var/swaptemp
# dd if=/dev/zero of=/var/swaptemp/swapfile bs=1M count=512
# mkswap LABLE=SWAP-FILE /var/swaptemp/swapfile


/etc/fstab
/var/swaptemp/swapfile   swap swap defaults 0 0

猜你喜欢

转载自chengjianxiaoxue.iteye.com/blog/2250358