Linux-存储管理

存储基础知识

从工做原理区分:node

  • 机械   HDD
  • 固态   SSD

SSD的优点:linux

    SSD是摒弃传统磁介质,采用电子存储介质进行数据存储和读取的一种技术,突破了传统机械硬盘的性能瓶颈,拥有极高的存储性能,被认为是存储
    技术发展的将来新星。固态硬盘的全集成电路化、无任何机械运动部件的革命性设计,从根本上解决了在移动办公环境下,对于数据读写稳定性的需
    求。全集成电路化设计可让固态硬盘作成任何形状。与传统硬盘相比,SSD固态电子盘具备如下优势:
    第一,SSD不须要机械结构,彻底的半导体化,不存在数据查找时间、延迟时间和磁盘寻道时间,数据存取速度快。
    第二,SSD所有采用闪存芯片,经久耐用,防震抗摔,即便发生与硬物碰撞,数据丢失的可能性也可以降到最小。
    第三,得益于无机械部件及FLASH闪存芯片,SSD没有任何噪音,功耗低。
    第四,质量轻,比常规1.8英寸硬盘重量轻20-30克,使得便携设备搭载多块SSD成为可能。同时因其彻底半导体化,无结构限制,可根据实际状况  
    设计成各类不一样接口、形状的特殊电子硬盘。

从磁盘尺寸区分:ios

3.5 2.5 1.8vim

从插拔方式区分:centos

  • 热插拔
  • 非热插拔

从硬盘主要接口区分:服务器

  • IDE    —— SATA I/II/II    我的计算机
  • SCSI  —— SAS    服务器
  • FC
  • PCIE

从存储链接方式区分:网络

  • 本地存储:例如DellR730本地磁盘
  • 外部存储:scsi线、stat线、sas线、FC线
  • 网络存储:以太网络、FC网络

从kernel对不一样接口硬盘命名方式:oracle

OS		IDE(并口)	    SATA(串口)		      SCSI			
RHEL5	     /dev/hda		    /dev/sda				/dev/sda		
RHEL6	     /dev/sda		    /dev/sda				/dev/sda
RHEL7	     /dev/sda		    /dev/sda				/dev/sda
KVM          /dev/vda(半虚拟化驱动)
           /dev/sda(全虚拟化驱动)

从分区方式区分:app

存储大小			分区软件		分区表
2TB如下的硬盘		fdisk/parted/	MSDOS(MBR) 
2TB以上的硬盘		parted		GPT
注意:从MBR转到GPT,或从GPT转换到MBR会致使数据所有丢失!

MSDOS(MBR)分区的限制:异步

主引导分区(Master Boot Record,缩写:MBR),又叫作主引导扇区,是计算机开机后访问硬盘时所必需要读取的首个扇区。

MBR(512字节)=446字节(存放grub指针)+64字节(分区表)+2字节(校验位)

主分区,扩展分区,逻辑分区

只支持4个主分区,总分区数不能超过15个

只支持2TB如下的硬盘

GPT的限制:

没有限制

HP服务器硬盘:

/dev/cciss/c0d0
/dev/cciss/c0d0p1	//c0第一个控制器, d0第一块磁盘, p1分区1
/dev/cciss/c0d0p2	//c0第一个控制器, d0第一块磁盘, p2分区2

文件系统与数据资料:

Ext3:文件系统最大16TB,单个文件最大2TB

Ext4:文件系统最大16TB,单个文件最大16TB

XFS:

Ext3:是一款日志文件系统,可以在系统异常宕机时避免文件系统资料丢失,并能自动修复数据的不一致与错误。
然而,当硬盘容量较大时,所需的修复时间也会很长,并且也不能百分之百地保证资料不会丢失。它会把整个磁盘
的每一个写入动做的细节都预先记录下来,以便在发生异常宕机后能回溯追踪到被中断的部分,而后尝试进行修复。 Ext4:Ext3的改进版本,做为RHEL 6系统中的默认文件管理系统,它支持的存储容量高达1EB(1EB=1,073,741,824GB),
且可以有无限多的子目录。另外,Ext4文件系统可以批量分配block块,从而极大地提升了读写效率。 XFS:是一种高性能的日志文件系统,并且是RHEL 7中默认的文件管理系统,它的优点在发生意外宕机后尤为明显,
便可以快速地恢复可能被破坏的文件,并且强大的日志功能只用花费极低的计算和存储性能。而且它最大可支持的存
储容量为18EB,这几乎知足了全部需求。

磁盘分区

磁盘管理相关命令

fdisk 分区工具

fdisk是一个建立和维护分区表的程序,它兼容DOS类型的分区表、BSD或者SUN类型的磁盘列表。

  • 语法:
    fdisk [必要参数][选择参数]
  • 必要参数:
    -l 列出素全部分区表
    -u 与"-l"搭配使用,显示分区数目
  • 选择参数:
    -s<分区编号> 指定分区
    -v 版本信息
  • 菜单操做说明:
    a   toggle a bootable flag                  --设置启动分区
    b   edit bsd disklabel                      --编辑分区标签
    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  --建立一个新的空白DOS分区表
    p   print the partition table               --打印分区表
    q   quit without saving changes             --退出不保存设置
    t   changea partition's system id           --改变分区的类型
    u   changedisplay/entry units               --改变显示的单位
    v   verifythe partition table               --检查验证分区表
    w   write table to disk and exit            --保存分区表
  • 示例
    # fdisk -l
    
    Disk /dev/sda: 10.7 GB, 10737418240 bytes
    255 heads, 63 sectors/track, 1305 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    
      Device Boot   Start     End   Blocks  Id System
    /dev/sda1  *      1     13   104391  83 Linux
    /dev/sda2       14    1305  10377990  8e Linux LVM
    
    Disk /dev/sdb: 5368 MB, 5368709120 bytes
    255 heads, 63 sectors/track, 652 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    显示当前分区状况
    # fdisk -lu  
    
    Disk /dev/sda: 10.7 GB, 10737418240 bytes
    255 heads, 63 sectors/track, 1305 cylinders, total 20971520 sectors
    Units = sectors of 1 * 512 = 512 bytes
    
      Device Boot   Start     End   Blocks  Id System
    /dev/sda1  *     63   208844   104391  83 Linux
    /dev/sda2     208845  20964824  10377990  8e Linux LVM
    
    Disk /dev/sdb: 5368 MB, 5368709120 bytes
    255 heads, 63 sectors/track, 652 cylinders, total 10485760 sectors
    Units = sectors of 1 * 512 = 512 bytes
    显示SCSI硬盘的每一个分区状况

lsblk 查看块设备

lsblk用于列出全部可用块设备的信息,并且还能显示他们之间的依赖关系,可是它不会列出RAM盘的信息。块设备有硬盘,闪存盘,cd-ROM等等。

  • 选项:
    -a, --all            显示全部设备。
    -b, --bytes          以bytes方式显示设备大小。
    -d, --nodeps         不显示 slaves 或 holders。
    -D, --discard        print discard capabilities。
    -e, --exclude <list> 排除设备 (default: RAM disks)。
    -f, --fs             显示文件系统信息。
    -h, --help           显示帮助信息。
    -i, --ascii          use ascii characters only。
    -m, --perms          显示权限信息。
    -l, --list           使用列表格式显示。
    -n, --noheadings     不显示标题。
    -o, --output <list>  输出列。
    -P, --pairs          使用key="value"格式显示。
    -r, --raw            使用原始格式显示。
    -t, --topology       显示拓扑结构信息。
  • 示例
    [root@centos7-1 ~]# lsblk 
    NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sr0          11:0    1 1024M  0 rom  
    vda         252:0    0   10G  0 disk 
    ├─vda1      252:1    0  500M  0 part /boot
    └─vda2      252:2    0  9.5G  0 part 
      ├─cl-root 253:0    0    9G  0 lvm  /
      └─cl-swap 253:1    0  500M  0 lvm  [SWAP]
    
    NAME:这是块设备名。
    MAJ:MIN:本栏显示主要和次要设备号。
    RM:本栏显示设备是否可移动设备。注意,在本例中设备sdb和sr0的RM值等于1,这说明他们是可移动设备。
    SIZE:本栏列出设备的容量大小信息。例如298.1G代表该设备大小为298.1GB,而1K代表该设备大小为1KB。
    RO:该项代表设备是否为只读。在本案例中,全部设备的RO值为0,代表他们不是只读的。
    TYPE:本栏显示块设备是不是磁盘或磁盘上的一个分区。在本例中,sda和sdb是磁盘,而sr0是只读存储(rom)。
    MOUNTPOINT:本栏指出设备挂载的挂载点。

partprobe 刷新受权表

partprobe命令用于重读分区表,当出现删除文件后,出现仍然占用空间。能够partprobe在不重启的状况下重读分区。

  • 选项:
    -d:不更新内核;
    -s:显示摘要和分区;
    -h:显示帮助信息;
    -v:显示版本信息。
  • 示例:
    1、添加新的磁盘分区
    [root@localhost ~]# fdisk /dev/sda
    The number of cylinders for this disk is set to 38770.
    There is nothing wrong with that, but this is larger than 1024,
    and could in certain setups cause problems with:
    1) software that runs at boot time (e.g., old versions of lilo)
    2) booting and partitioning software from other OSs
       (e.g., DOS FDISK, OS/2 FDISK)
    
    command (m for help): p
    
    Disk /dev/sda: 318.9 GB, 318901321728 bytes
    255 heads, 63 sectors/track, 38770 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    
       Device Boot      Start         End      Blocks   id  System
    /dev/sda1   *           1        3824    30716248+  83  Linux
    /dev/sda2            3825        7648    30716280   83  Linux
    /dev/sda3            7649        8668     8193150   82  Linux swap / Solaris
    
    Command (m for help): n
    Command action
       e   extended
       p   primary partition (1-4)
    p
    Selected partition 4
    First cylinder (8669-38770, default 8669):
    Using default value 8669
    last cylinder or +size or +sizeM or +sizeK (8669-38770, default 38770): +100G   
    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: 
    
    Device or resource busy.
    The kernel still uses the old table.
    The new table will be used at the next reboot.
    Syncing disks.
    
    2、 使用工具partprobe让kernel读取分区信息
    [root@localhost ~]# partprobe
    使用fdisk工具只是将分区信息写到磁盘,若是须要mkfs磁盘分区则须要重启系统,而使用partprobe则可使kernel从新读取分区信息,从而避免重启系统。
    
    3、格式化文件系统
    [root@localhost ~]# mkfs.ext3 /dev/sda4
    mke2fs 1.39 (29-May-2006)
    Filesystem label=
    OS type: Linux
    Block size=4096 (log=2)
    Fragment size=4096 (log=2)
    12222464 inodes, 24416791 blocks
    1220839 blocks (5.00%) reserved for the super user
    First data block=0
    Maximum filesystem blocks=4294967296
    746 block groups
    32768 blocks per group, 32768 fragments per group
    16384 inodes per group
    Superblock backups stored on blocks:
            32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 
        2654208, 4096000, 7962624, 11239424, 20480000, 23887872
    
    Writing inode tables: done
    Creating journal (32768 blocks): done
    Writing superblocks and filesystem accounting information:
    
    done
    
    This filesystem will be automatically checked every 26 mounts or
    180 days, whichever comes first.  Use tune2fs -c or -i to override.
    [root@localhost ~]#
    
    4、 mount新的分区/dev/sda4
    [root@localhost ~]# e2label  /dev/sda4 /data
    [root@localhost ~]# mkdir /data
    [root@localhost ~]# mount /dev/sda4 /data
    [root@localhost ~]# df
    Filesystem           1K-blocks      Used Available Use% Mounted on
    /dev/sda1             29753556   3810844  24406900  14% /
    /dev/sda2             29753588  11304616  16913160  41% /oracle
    tmpfs                  2023936         0   2023936   0% /dev/shm
    /dev/sda4             96132968    192312  91057300   1% /data
    View Code

blkid  查看设备UUID

在Linux下可使用blkid命令对查询设备上所采用文件系统类型进行查询。blkid主要用来对系统的块设备(包括交换分区)所使用的文件系统类型、LABEL、UUID等信息进行查询。要使用这个命令必须安装e2fsprogs软件包。

  • 示例:
    # blkid /dev/sda3
    /dev/sda3: UUID="3bca1b81-1339-4345-9df4-9c25ec00a60b" TYPE="swap" 

磁盘分区示例

分区步骤:

  • 一、须要有一块硬盘
  • 二、使用分区工具对硬盘进行分区(fdisk)
  • 三、格式化分区
  • 四、挂载使用
  1. 进入分区表 新建分区
  2. 更新分区表(刷新分区表)
  3. 格式化
  4. 挂载

第1步:咱们首先使用fdisk命令来尝试管理/dev/vdb硬盘设备。在看到提示信息后输入参数p来查看硬盘设备内已有的分区信息,其中包括了硬盘的容量大小、扇区个数等信息:

[root@centos7-1 ~]# fdisk /dev/vdb 
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0xf24ceedc 建立新的 DOS 磁盘标签。

命令(输入 m 获取帮助):p

磁盘 /dev/vdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xf24ceedc

   设备 Boot      Start         End      Blocks   Id  System

命令(输入 m 获取帮助):

第2步:输入参数n尝试添加新的分区。系统会要求您是选择继续输入参数p来建立主分区,仍是输入参数e来建立扩展分区。这里输入参数p来建立一个主分区:

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p

第3步:在确认建立一个主分区后,系统要求您先输入主分区的编号。咱们在前文得知,主分区的编号范围是1~4,所以这里输入默认的1就能够了。接下来系统会提示定义起始的扇区位置,这不须要改动,咱们敲击回车键保留默认设置便可,系统会自动计算出最靠前的空闲扇区的位置。最后,系统会要求定义分区的结束扇区位置,这其实就是要去定义整个分区的大小是多少。咱们不用去计算扇区的个数,只须要输入+2G便可建立出一个容量为2GB的硬盘分区。

分区号 (1-4,默认 1):1
起始 扇区 (2048-41943039,默认为 2048):此处敲击回车
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+2G
分区 1 已设置为 Linux 类型,大小设为 2 GiB

第4步:再次使用参数p来查看硬盘设备中的分区信息。果真就能看到一个名称为/dev/vdb一、起始扇区位置为204八、结束扇区位置为4196351的主分区了。这时候千万不要直接关闭窗口,而应该敲击参数w后回车,这样分区信息才是真正的写入成功啦。

命令(输入 m 获取帮助):p

磁盘 /dev/vdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xf24ceedc

   设备 Boot      Start         End      Blocks   Id  System
/dev/vdb1            2048     4196351     2097152   83  Linux

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

第5步:在上述步骤执行完毕以后,Linux系统会自动把这个硬盘主分区抽象成/dev/vdb1设备文件。咱们可使用file命令查看该文件的属性,有些时候系统并无自动把分区信息同步给Linux内核,并且这种状况彷佛还比较常见(但不能算做是严重的bug)。咱们能够输入partprobe命令手动将分区信息同步到内核,并且通常推荐连续两次执行该命令,效果会更好。若是使用这个命令都没法解决问题,那么就重启计算机吧,这个杀手锏百试百灵,必定会有用的。

[root@centos7-1 ~]# partprobe
[root@centos7-1 ~]# partprobe
[root@centos7-1 ~]# file /dev/vdb1 
/dev/vdb1: block special

第6步:格式化,若是硬件存储设备没有进行格式化,则Linux系统没法得知怎么在其上写入数据。所以,在对存储设备进行分区后还须要进行格式化操做。在Linux系统中用于格式化操做的命令是mkfs。这条命令颇有意思,由于在Shell终端中输入mkfs名后再敲击两下用于补齐命令的Tab键,会有以下所示的效果

[root@centos7-1 ~]# mkfs
mkfs         mkfs.cramfs  mkfs.ext3    mkfs.fat     mkfs.msdos   mkfs.xfs     
mkfs.btrfs   mkfs.ext2    mkfs.ext4    mkfs.minix   mkfs.vfat 

对!这个mkfs命令很贴心地把经常使用的文件系统名称用后缀的方式保存成了多个命令文件,用起来也很是简单—mkfs.文件类型名称。例如要格式分区为XFS的文件系统,则命令应为mkfs.xfs /dev/sdb1。

[root@centos7-1 ~]# mkfs.xfs /dev/vdb1 
meta-data=/dev/vdb1              isize=512    agcount=4, agsize=131072 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=524288, 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

第7步:挂载,完成了存储设备的分区和格式化操做,接下来就是要来挂载并使用存储设备了。与之相关的步骤也很是简单:首先是建立一个用于挂载设备的挂载点目录;而后使用mount命令将存储设备与挂载点进行关联;最后使用df -h命令来查看挂载状态和硬盘使用量信息。

[root@centos7-1 ~]# mkdir /newFS
[root@centos7-1 ~]# mount /dev/vdb1 /newFS/
[root@centos7-1 ~]# df -h
文件系统             容量  已用  可用 已用% 挂载点
/dev/mapper/cl-root  9.1G  3.7G  5.4G   41% /
devtmpfs             481M     0  481M    0% /dev
tmpfs                497M  124K  497M    1% /dev/shm
tmpfs                497M   14M  484M    3% /run
tmpfs                497M     0  497M    0% /sys/fs/cgroup
/dev/vda1            497M  166M  332M   34% /boot
tmpfs                100M  8.0K  100M    1% /run/user/42
tmpfs                100M   16K  100M    1% /run/user/0
/dev/vdb1            2.0G   33M  2.0G    2% /newFS

开机自动挂载,经过UUID挂载,blkid  查看设备的UUID

[root@centos7-1 ~]# blkid /dev/vdb1 
/dev/vdb1: UUID="a9c72628-f6b1-4feb-bdfb-9fa456d119bb" TYPE="xfs"
[root@centos7-1 ~]# vim /etc/fstab
UUID=a9c72628-f6b1-4feb-bdfb-9fa456d119bb  /newFS         xfs     defaults        0 0

磁盘挂载与卸载

  • 单一文件系统不该该被重复挂载在不一样的挂载点(目录)中;
  • 单一目录不该该重复挂载多个文件系统;
  • 要做为挂载点的目录,理论上应该都是空目录才是。

若是你要用来挂载的目录里面并非空的,那么挂载了文件系统以后,原目录下的东西就会暂时的消失。 举个例子来讲,假设你的 /home 本来与根目录 (/) 在同一个文件系统中,底下本来就有 /home/test 与 /home/vbird 两个目录。而后你想要加入新的硬盘,而且直接挂载 /home 底下,那么当你挂载上新的分割槽时,则 /home 目录显示的是新分割槽内的数据,至于原先的 test 与 vbird 这两个目录就会暂时的被隐藏掉了!注意:并非被覆盖掉, 而是暂时的隐藏了起来,等到新分割槽被卸除以后,则 /home 本来的内容就会再次的跑出来啦!

  • 格式:
    mount [-t 文件系统]  [-o 额外选项]  装置文件名  挂载点
  • 参数:
    选项与参数:
    -a  :依照配置文件 /etc/fstab 的数据将全部未挂载的磁盘都挂载上来
    -l  :单纯的输入 mount 会显示目前挂载的信息。加上 -l 可增列 Label 名称!
    -t  :与 mkfs 的选项很是相似的,能够加上文件系统种类来指定欲挂载的类型。
          常见的 Linux 支持类型有:ext2, ext3, vfat, reiserfs, iso9660(光盘格式),
          nfs, cifs, smbfs(此三种为网络文件系统类型)
    -n  :在默认的状况下,系统会将实际挂载的状况实时写入 /etc/mtab 中,以利其余程序
          的运行。但在某些状况下(例如单人维护模式)为了不问题,会刻意不写入。
          此时就得要使用这个 -n 的选项了。
    -L  :系统除了利用装置文件名 (例如 /dev/hdc6) 以外,还能够利用文件系统的标头名称
          (Label)来进行挂载。最好为你的文件系统取一个独一无二的名称吧!
    -o  :后面能够接一些挂载时额外加上的参数!比方说帐号、密码、读写权限等:
        rw           读写
        ro           只读
        suid         支持suid
        dev          支持设备文件
        nodev        不支持设备文件
        noexec       不容许执行二进制文件
        exec         容许执行二进制文件
        auto         mount -a 开机自动挂载
        noauto       mount -a 开机不自动挂载
        async        异步写入
        sync         同步同入
        noatime      不更新访问时间atime
        usrquota     支持用户级磁盘配额功能
        grpquota     支持组级磁盘配额功能
        acl          支持acl功能
        remount      在线从新挂载
        pri          指定优先级
  • 示例
    mount -t ext4 -o acl /dev/sdb1 /mnt/disk1 
    文件系统类型:ext4,xfs,nfs,cifs,iso9660,loop

挂载IOS文件

[root@centos7-1 ~]# mount -o loop /data/CentOS-7.3-x86_64-DVD-1611.iso /ios/
[root@centos7-1 ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root  202G   34G  169G   17% /
devtmpfs                 1.7G     0  1.7G    0% /dev
tmpfs                    1.8G   12M  1.7G    1% /dev/shm
tmpfs                    1.8G   26M  1.7G    2% /run
tmpfs                    1.8G     0  1.8G    0% /sys/fs/cgroup
/dev/sda1                794M  179M  616M   23% /boot
/dev/mapper/centos-opt   200G   85M  200G    1% /opt
/dev/mapper/centos-home   51G   37M   51G    1% /home
tmpfs                    349M   36K  349M    1% /run/user/0
/dev/loop0               4.1G  4.1G     0  100% /ios

开机自动挂载

/etc/fstab

格式说明:

要挂载的资源路径    挂载点    资源类型    挂载选项    dump备份支持  文件系统检测
/dev/vda1           /      ext4      defaults        1            1
1段:挂载的设备(磁盘设备的文件名或设备的卷标或者是设备的UUID)
2段:挂载点(建议用一个空目录)
3段:文件系统类型(ext三、ext四、vfat、ntfs、swap等等)
4段:文件系统选项(fs mntops)在装载文件系统时使用的装载选项
5段:是否支持dump备份。0表明不要作dump备份,1表明要天天进行dump的动做,2也表明其余不定日期的dump备份。数字越小优先级越高。
6段:是否用 fsck 检验扇区。#开机的过程当中,系统默认会用fsck检验文件系统是否完整。0是不要检验,1表示最早检验(通常只有根目录会设定为1)
[root@centos7-1 ~]# cat /etc/fstab 
...
须要挂载的设备            挂载点                  文件类型 
/dev/mapper/cl-root     /                        xfs       defaults        0 0
/dev/mapper/cl-swap     swap                     swap      defaults        0 0
  • 示例:
    [root@centos7-1 ~]# blkid /dev/vdb1 
    /dev/vdb1: UUID="a9c72628-f6b1-4feb-bdfb-9fa456d119bb" TYPE="xfs"
    [root@centos7-1 ~]# vim /etc/fstab
    UUID=a9c72628-f6b1-4feb-bdfb-9fa456d119bb  /newFS         xfs     defaults        0 0 

Automount 自动挂载

本地挂载

  • 挂载是由访问产生的:设置开机不必定要挂载的目录,当用的时候才实现自动挂载。
  • 卸载是由超时产生的:用户不使用自动挂载的目录一段的时间,会自动卸载。(默认时间为5分钟)

autofs    ----自动挂载的软件

[root@centos7-1 ~]# rpm -q autofs 
autofs-5.0.7-56.el7.x86_64

配置文件:

/etc/auto.master        主配置文件
/etc/auto.misc          子配置文件/etc/sysconfig/autofs   额外配置文件
/usr/sbin/automount     二进制命令

示例:

经过autofs 自动挂载本地设备 /dev/vdb1 到 /fs 目录

第1步:修改主配置文件,定义一级挂载点以及子配置文件, --timeout=20 设置超时时间为20秒。20秒若是没有访问,自动卸载

[root@centos7-1 ~]# vim /etc/auto.master
/-      /etc/auto.fs     --timeout=20

第2步:建立子配置文件,并定义二级挂载点

[root@centos7-1 ~]# vim /etc/auto.fs
/fs    -fstype=xfs,rw :/dev/vdb1

一级二级挂载点说明:将/dev/vda1  挂载到/u01/vd1目录下,那么一级挂载点就是/dev、二级挂载点就是vd1
若是单独只有一级目录,那么auto.master里面写/-

第3步:启动服务并查看状态

[root@centos7-1 ~]# systemctl start autofs
[root@centos7-1 ~]# systemctl status autofs

第4步:测试验证

[root@centos7-1 ~]# df -h                // 能够查看到没有进行使用,虽然启动了服务,可是仍是没有挂载
文件系统             容量  已用  可用 已用% 挂载点
/dev/mapper/cl-root  9.1G  3.7G  5.4G   41% /
devtmpfs             481M     0  481M    0% /dev
tmpfs                497M  124K  497M    1% /dev/shm
tmpfs                497M   14M  484M    3% /run
tmpfs                497M     0  497M    0% /sys/fs/cgroup
/dev/vda1            497M  166M  332M   34% /boot
tmpfs                100M  8.0K  100M    1% /run/user/42
tmpfs                100M   16K  100M    1% /run/user/0

[root@centos7-1 ~]# cd /fs/                // 一旦挂载点进行了使用,再次查看,就自动挂载上了
[root@centos7-1 fs]# ls
[root@centos7-1 fs]# df -h
文件系统             容量  已用  可用 已用% 挂载点
/dev/mapper/cl-root  9.1G  3.7G  5.4G   41% /
devtmpfs             481M     0  481M    0% /dev
tmpfs                497M  124K  497M    1% /dev/shm
tmpfs                497M   14M  484M    3% /run
tmpfs                497M     0  497M    0% /sys/fs/cgroup
/dev/vda1            497M  166M  332M   34% /boot
tmpfs                100M  8.0K  100M    1% /run/user/42
tmpfs                100M   16K  100M    1% /run/user/0
/dev/vdb1            2.0G   33M  2.0G    2% /fs

[root@centos7-1 ~]# date                 // 测试超时是否自动卸载
2018年 11月 09日 星期五 16:21:19 CST
[root@centos7-1 ~]# date 
2018年 11月 09日 星期五 16:21:51 CST
[root@centos7-1 ~]# df -h                // 时间超过了20秒后查看,已自动卸载
文件系统             容量  已用  可用 已用% 挂载点
/dev/mapper/cl-root  9.1G  3.7G  5.4G   41% /
devtmpfs             481M     0  481M    0% /dev
tmpfs                497M  124K  497M    1% /dev/shm
tmpfs                497M   14M  484M    3% /run
tmpfs                497M     0  497M    0% /sys/fs/cgroup
/dev/vda1            497M  166M  332M   34% /boot
tmpfs                100M  8.0K  100M    1% /run/user/42
tmpfs                100M   16K  100M    1% /run/user/0

远程挂载 NFS

要求:将NFS服务器上的/home/dir1和/home/dir2目录分别挂载 到 挂载服务器的/nfs-server/dir1和/nfs-server/dir2上

NFS服务器:192.168.122.228
简单准备共享目录

[root@centos7-2 ~]# mkdir /home/dir{1,2} 
    [root@centos7
-2 ~]# vim /etc/exports /home/dir1 *(rw,sync,no_root_squash) /home/dir2 *(rw,sync,no_root_squash)
[root@centos7
-2 ~]# systemctl restart nfs-server.service [root@centos7-2 ~]# systemctl status nfs-server.service

挂载服务器:192.168.122.205

第1步:查看nfs服务器共享的目录

[root@centos7-1 ~]# showmount -e 192.168.122.228
Export list for 192.168.122.228:
/home/dir2 *
/home/dir1 *

手动挂载示例:

[root@centos7-1 ~]# mount -t nfs 192.168.122.228:/home/dir1 /nfs-server/dir1
[root@centos7-1 ~]# mount -t nfs 192.168.122.228:/home/dir2 /nfs-server/dir2
[root@centos7-1 ~]# df -h
文件系统                    容量  已用  可用 已用% 挂载点
/dev/mapper/cl-root         9.1G  3.7G  5.4G   41% /
devtmpfs                    481M     0  481M    0% /dev
tmpfs                       497M  124K  497M    1% /dev/shm
tmpfs                       497M   14M  484M    3% /run
tmpfs                       497M     0  497M    0% /sys/fs/cgroup
/dev/vda1                   497M  166M  332M   34% /boot
tmpfs                       100M  8.0K  100M    1% /run/user/42
tmpfs                       100M   16K  100M    1% /run/user/0
192.168.122.228:/home/dir1  9.1G  3.7G  5.4G   41% /nfs-server/dir1
192.168.122.228:/home/dir2  9.1G  3.7G  5.4G   41% /nfs-server/dir2

开机自动挂载示例:

[root@centos7-1 ~]# vim /etc/fstab
192.168.122.228:/home/dir1    /nfs-server/dir1    xfs        defaults        0 0
192.168.122.228:/home/dir2    /nfs-server/dir2    xfs        defaults        0 0
优势:能够实现开机自动挂载 缺点:因为网络链接的不稳定性,会致使网络设备挂载失败 结论:适合挂载本地设备和持续使用的设备

第2步:修改主配置文件;定义一级挂载点以及子配置文件

[root@centos7-1 ~]# vim /etc/auto.master
/-     /etc/auto.nfs   --timeout=60

第3步:建立子配置文件

[root@centos7-1 ~]# vim /etc/auto.nfs
/dir1    rw  192.168.122.228:/home/dir1
/dir2    rw  192.168.122.228:/home/dir2

第4步:启动服务

[root@centos7-1 ~]# systemctl start autofs 
[root@centos7-1 ~]# systemctl status autofs

第5步:测试验证

[root@centos7-1 ~]# df -h
文件系统             容量  已用  可用 已用% 挂载点
/dev/mapper/cl-root  9.1G  3.7G  5.4G   41% /
devtmpfs             481M     0  481M    0% /dev
tmpfs                497M  124K  497M    1% /dev/shm
tmpfs                497M   14M  484M    3% /run
tmpfs                497M     0  497M    0% /sys/fs/cgroup
/dev/vda1            497M  166M  332M   34% /boot
tmpfs                100M  8.0K  100M    1% /run/user/42
tmpfs                100M   16K  100M    1% /run/user/0

[root@centos7-1 ~]# cd /dir1
[root@centos7-1 dir1]# df -h
文件系统                    容量  已用  可用 已用% 挂载点
/dev/mapper/cl-root         9.1G  3.7G  5.4G   41% /
devtmpfs                    481M     0  481M    0% /dev
tmpfs                       497M  124K  497M    1% /dev/shm
tmpfs                       497M   14M  484M    3% /run
tmpfs                       497M     0  497M    0% /sys/fs/cgroup
/dev/vda1                   497M  166M  332M   34% /boot
tmpfs                       100M  8.0K  100M    1% /run/user/42
tmpfs                       100M   16K  100M    1% /run/user/0
192.168.122.228:/home/dir1  9.1G  3.7G  5.4G   41% /dir1

[root@centos7-1 dir1]# cd /dir2
[root@centos7-1 dir2]# df -h
文件系统                    容量  已用  可用 已用% 挂载点
/dev/mapper/cl-root         9.1G  3.7G  5.4G   41% /
devtmpfs                    481M     0  481M    0% /dev
tmpfs                       497M  124K  497M    1% /dev/shm
tmpfs                       497M   14M  484M    3% /run
tmpfs                       497M     0  497M    0% /sys/fs/cgroup
/dev/vda1                   497M  166M  332M   34% /boot
tmpfs                       100M  8.0K  100M    1% /run/user/42
tmpfs                       100M   16K  100M    1% /run/user/0
192.168.122.228:/home/dir2  9.1G  3.7G  5.4G   41% /dir2
相关文章
相关标签/搜索