Linux磁盘挂载

        mount命令 用于加载文件系统到指定的加载点。此命令的最常用于挂载cdrom,使我们可以访问cdrom中的数据,因为你将光盘插入cdrom中,Linux并不会自动挂载,必须使用Linux mount命令来手动完成挂载。
磁盘格式化完成后需要挂载后才能进行去使用。在挂载某个分区前需要先建立一个挂载点,这个挂载点是以目录的形式出现的。一旦把某一个分区挂载到了这个挂载点(目录)下,那么再往这个目录写数据时,则都会写到该分区中。
注意:在磁盘挂载分区前,挂载点下必须是空目录,因为磁盘挂载后该目录下之前的东西就看不到了,只有卸载分区后才能看到。
说明:如果一台服务器上有多块磁盘,进行挂载时优先选用UUID,避免发生硬件维修更换磁盘位置后磁盘分区名发生变化而影响系统启动。
选项:
-V:显示程序版本;
-l:显示已加载的文件系统列表;
-h:显示帮助信息并退出;
-v:冗长模式,输出指令执行的详细信息;
-n:加载没有写入文件“/etc/mtab”中的文件系统;
-r:将文件系统加载为只读模式;
-a:加载文件“/etc/fstab”中描述的所有文件系统。
 
不分区格式化整块磁盘
[root@linux-xl ~]# fdisk /dev/sdb     #删除所有分区
Welcome to fdisk (util-linux 2.23.2).
 
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
 
Command (m for help): p    #列出分区
 
Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x189fc246
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux
 
Command (m for help): d    #删除分区
Selected partition 1
Partition 1 is deleted
Command (m for help): w   #保存退出
The partition table has been altered!
 
Calling ioctl() to re-read partition table.
Syncing disks.
[root@linux-xl ~]# fdisk -l /dev/sdb  #查看磁盘的情况,此时发现已经没有任何分区
 
Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x189fc246
 
   Device Boot      Start         End      Blocks   Id  System
 
[root@linux-xl ~]# mkfs.xfs -f /dev/sdb  #格式化为xfs文件系统;由于之前已经格式化过一次,现在格式化需要加-f选项强制格式化
meta-data=/dev/sdb               isize=512    agcount=4, agsize=655360 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=2621440, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
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
[root@linux-xl ~]# blkid /dev/sdb #使用blkid命令查看磁盘的文件系统
/dev/sdb: UUID="2e36a530-168e-47cf-8e0d-659aaa606840" TYPE="xfs"
[root@linux-xl ~]# df -h   #查看分区情况
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2        44G  1.6G   43G   4% /
devtmpfs        1.9G     0  1.9G   0% /dev
tmpfs           1.9G     0  1.9G   0% /dev/shm
tmpfs           1.9G  8.5M  1.9G   1% /run
tmpfs           1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/sda5      1014M   33M  982M   4% /home
/dev/sda1      1014M  135M  880M  14% /boot
tmpfs           378M     0  378M   0% /run/user/0
[root@linux-xl ~]# mount /dev/sdb /mnt/    #用法mount [选项]<盘符><挂载点>
[root@linux-xl ~]# df -h   #可以看到最后一列已经成功挂载,/mnt挂载点好比是磁盘的入口,没有挂载点就无法在磁盘里写数据。
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2        44G  1.6G   43G   4% /
devtmpfs        1.9G     0  1.9G   0% /dev
tmpfs           1.9G     0  1.9G   0% /dev/shm
tmpfs           1.9G  8.5M  1.9G   1% /run
tmpfs           1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/sda5      1014M   33M  982M   4% /home
/dev/sda1      1014M  135M  880M  14% /boot
tmpfs           378M     0  378M   0% /run/user/0
/dev/sdb         10G   33M   10G   1% /mnt
如何卸载呢?
[root@linux-xl mnt]# umount /dev/sdb    #它会提示卸载不了,目标正忙。原因是我们正在它磁盘里面。
umount: /mnt: target is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
此时有两个解决方法
1、退出挂载点
[root@linux-xl ~]# umount /dev/sdb
2、加个-l选项
[root@linux-xl ~]# mount /dev/sdb  /mnt/
[root@linux-xl ~]# cd /mnt/
[root@linux-xl mnt]# umount -l /dev/sdb
[root@linux-xl ~]# man mount  #查帮助,常用选项的意义。
    async/sync:磁盘和内存是否同步,默认async不同步;
    auto/noauto:开机自动挂载/不自动挂载;
    default:按着大多数永久文件系统的缺省值设置挂载定义,包含rw,suid,dev,exec,auto,nouser,async等   
    ro:按只读权限挂载
    rw:按读写权限挂载
    exec/noexec:允许/不允许可执行文件执行,千万不要把根分区挂载为noexec。
    user/nouser:允许/不允许root外其他用户挂载分区,为了安全考虑,使用nouser
    suid/nosuid:允许/不允许分区有suid属性,一般设置nosuid
    usrquota:启动使用者磁盘配额模式,可针对用户限定他们的使用额度
    grquota:启动群组磁盘配额模式
重新挂载磁盘
[root@linux-xl ~]# mount -o remount,rw /dev/sdb /mnt/
[root@linux-xl ~]# vim /etc/fstab #如果想要开机自动挂载,就需要在/etc/fstab配置文件上写
#
# /etc/fstab
# Created by anaconda on Tue May 15 23:23:48 2018
#
# 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
#
UUID=0a548611-1d43-47bd-af8b-73c62b4efc9b /                       xfs     defaults        0 0
UUID=a20b1f54-71d4-455b-a1e3-5d5e04310479 /boot                   xfs     defaults        0 0
UUID=50bcd687-ca95-491c-b987-346bb77a4364 /home                   xfs     defaults        0 0
UUID=51efdc5d-8c12-4299-a7e9-d963e8d5361a swap                    swap    defaults        0 0
/dev/sdb        /mnt    xfs     defaults        0 0
#dev/sdb:目录和UUID一样的作用
#/mnt:挂载点
#xfs:文件系统类型
#defaults:默认选项
#第一个0:是否备份。0代表不备份;
#第二个0:开机不需要检测磁盘为0,需要检测磁盘,根分区为1,其它为2
[root@linux-xl ~]# blkid  #/dev/sdb和UUID挂载的作用是一样的。一样可以写入/etc/fstab配置文件的第一列去。
/dev/sdb: UUID="2e36a530-168e-47cf-8e0d-659aaa606840" TYPE="xfs"
/dev/sda1: UUID="a20b1f54-71d4-455b-a1e3-5d5e04310479" TYPE="xfs"
/dev/sda2: UUID="0a548611-1d43-47bd-af8b-73c62b4efc9b" TYPE="xfs"
/dev/sda3: UUID="51efdc5d-8c12-4299-a7e9-d963e8d5361a" TYPE="swap"
/dev/sda5: UUID="50bcd687-ca95-491c-b987-346bb77a4364" TYPE="xfs"
/dev/sr0: UUID="2017-09-06-10-51-00-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
[root@linux-xl ~]# mount UUID="2e36a530-168e-47cf-8e0d-659aaa606840"  /mnt/
[root@linux-xl ~]# df -hT
Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/sda2      xfs        44G  1.6G   43G   4% /
devtmpfs       devtmpfs  1.9G     0  1.9G   0% /dev
tmpfs          tmpfs     1.9G     0  1.9G   0% /dev/shm
tmpfs          tmpfs     1.9G  8.5M  1.9G   1% /run
tmpfs          tmpfs     1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/sda5      xfs      1014M   33M  982M   4% /home
/dev/sda1      xfs      1014M  135M  880M  14% /boot
tmpfs          tmpfs     378M     0  378M   0% /run/user/0
/dev/sdb       xfs        10G   33M   10G   1% /mnt
 
上一篇:linux中nmcli命令详解


下一篇:并发之痛 Thread,Goroutine,Actor