zoukankan      html  css  js  c++  java
  • Linux磁盘挂载详述

    1、查看硬盘信息及分区

      一般使用”fdisk -l”命令可以列出系统中当前连接的硬盘,设备和分区信息。新硬盘没有分区信息,则只显示硬盘大小信息。

    [root@localhost home]# fdisk -l
    
    磁盘 /dev/sda:64.4 GB, 64424509440 字节,125829120 个扇区
    Units = 扇区 of 1 * 512 = 512 bytes
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    磁盘标签类型:dos
    磁盘标识符:0x000a47ad
    
       设备 Boot      Start         End      Blocks   Id  System
    /dev/sda1   *        2048     1026047      512000   83  Linux
    /dev/sda2         1026048   125829119    62401536   8e  Linux LVM
    
    磁盘 /dev/sdb:1649.3 GB, 1649267441664 字节,3221225472 个扇区
    Units = 扇区 of 1 * 512 = 512 bytes
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节

      例如:

    Disk /dev/sda: 42.9 GB, 42949672960 bytes
    255 heads, 63 sectors/track, 5221 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: 0x0004406e
       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *           1          39      307200   83  Linux
    Partition 1 does not end on cylinder boundary.
    /dev/sda2              39        2589    20480000   83  Linux
    /dev/sda3            2589        2850     2097152   82  Linux swap / Solaris
    /dev/sda4            2850        5222    19057664    5  Extended
    /dev/sda5            2850        5222    19056640   83  Linux
     
    Disk /dev/sdb: 10.7 GB, 10737418240 bytes
    255 heads, 63 sectors/track, 1305 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: 0x14b52796
       Device Boot      Start         End      Blocks   Id  System

    2、发现磁盘后,对磁盘进行分区

      发现有磁盘,记住路径为/dev/sdb。然后使用fdisk命令进行建立分区。

    命令(输入 m 获取帮助):m
    命令操作
       a   toggle a bootable flag    #命令指定启动分区;
       b   edit bsd disklabel
       c   toggle the dos compatibility flag
       d   delete a partition    #命令删除一个存在的分区;
       g   create a new empty GPT partition table
       G   create an IRIX (SGI) partition table
       l   list known partition types    #命令显示分区ID号的列表;
       m   print this menu    #查看fdisk命令帮助;
       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  #命令修改分区的类型ID号;  
       u   change display/entry units
       v   verify the partition table
       w   write table to disk and exit    #命令是将对分区表的修改存盘让它发生作用。
       x   extra functionality (experts only)

      注意:(MBR类型磁盘——用fdisk###GPT类型磁盘——用parted)。fdisk不支持大于2T的分区寻址,当硬盘小于等于2T时,可以用fdisk进行分区;当硬盘大于2T时,用parted进行分区。

      1>.使用用fdisk进行分区:

    fdisk /dev/sdb
    命令(输入 m 获取帮助):n
    Partition type:
       p   primary (0 primary, 0 extended, 4 free)
       e   extended
    Select (default p): 
    Using default response p
    分区号 (1-4,默认 1):
    起始 扇区 (2048-3221225471,默认为 2048):
    依照提示,回车表示默认。默认值 2048
    Last 扇区, +扇区 or +size{K,M,G} (2048-3221225471,默认为 3221225471):
    依照提示,回车表示默认。默认值 3221225471
    分区 1 已设置为 Linux 类型,大小设为 1.5 TiB
    
    另:检查分区情况(此时还未执行分区操作) Command(m
    for help):p 保存退出命令(输入 m 获取帮助):w The partition table has been altered! Calling ioctl() to re-read partition table. 正在同步磁盘。

      2>.当硬盘大于2T时,用parted命令创建主分区的步骤。

    parted /dev/sdb   (用part命令对3T硬盘进行分区处理)
    mklabel gpt       (用gpt格式可以将3TB弄在一个分区里)
    unit TB           (设置单位为TB)
    mkpart primary 0 3 (设置为一个主分区,大小为3TB,开始是0,结束是3)
    print              (显示设置的分区大小)
    quit               (退出parted程序)

      3>.当硬盘大于2T时,用parted命令创建逻辑分区过程。

    parted /dev/sdb   (用part命令对3T硬盘进行分区处理)
    mklabel gpt       (用gpt格式可以将3TB弄在一个分区里)
    unit TB           (设置单位为TB)
    mkpart            (设置为一个逻辑分区,大小为3TB,开始是0,结束是3)
    sdb01              输入分区名称
    ext4                输入分区的格式
    0                  输入分区的开始位置
    10                 输入分区的结束位置
    print              (显示设置的分区大小)(这里显示size为10TB)
    quit               (退出parted程序)

      分区完成后,可以用fdisk -l查看分区。

    3、格式化分区

      建好分区后要格式化分区,建立文件系统。mkfs命令-->make filesystem的缩写;用来在特定的分区建立Linux文件系统。

      命令作用:该命令用来在特定的分区创建linux文件系统,常见的文件系统有ext2,ext3,vfat等,执行mkfs命令其实是在调用:mkfs.ext3 | mkfs.reiserfs |mkfs.ext2 | mkdosfs | mkfs.msdos | mkfs.vfat。

      例如:mkfs.ext3 /dev/sdb1           //注:将/dev/sdb1格式化为ext3类型

    mke2fs 1.41.12 (17-May-2010)
    文件系统标签=
    操作系统:Linux
    块大小=4096 (log=2)
    分块大小=4096 (log=2)
    Stride=0 blocks, Stripe width=0 blocks
    640848 inodes, 2562359 blocks
    128117 blocks (5.00%) reserved for the super user
    第一个数据块=0
    Maximum filesystem blocks=2625634304
    79 block groups
    32768 blocks per group, 32768 fragments per group
    8112 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 35 mounts or
    180 days, whichever comes first.  Use tune2fs -c or -i to override.

      Linux下查看磁盘分区的格式有很多种方法:

    1. df -T 只可以查看已经挂载的分区和文件系统类型。

    2. fdisk -l 可以显示出所有挂载和未挂载的分区,但不显示文件系统类型。

    3. parted -l 可以查看未挂载的文件系统类型,以及哪些分区尚未格式化。

    4. lsblk -f 也可以查看未挂载的文件系统类型。

    5. file -s /dev/sdb1

    4、创建挂载点

      创建一个目录,以后磁盘就归属于这个目录:

      创建/home/data目录:#mkdir /home/data

    5、挂载磁盘

      挂在磁盘可以手动挂载(mount)或者开机启动挂载(reboot)。其中手动挂载可以是修改磁盘配置表/etc/fstab,然后mount -a,或者直接使用mount命令挂载。

      mount(选项)(参数)

      选项

    -V:显示程序版本;
    -l:显示已加载的文件系统列表;
    -h:显示帮助信息并退出;
    -v:冗长模式,输出指令执行的详细信息;
    -n:加载没有写入文件“/etc/mtab”中的文件系统;
    -r:将文件系统加载为只读模式;
    -a:加载文件“/etc/fstab”中描述的所有文件系统。

      参数

    设备文件名:指定要加载的文件系统对应的设备名;
    加载点:指定加载点目录。

      例如:

    [root@localhost home]# mount /dev/sdb1 /home/data/
    mount: block device /dev/sdb1 is write-protected, mounting read-only     挂载成功

      注意:如果没有提前创建/home/data,则会报错,不能挂载成功。如:

    mount -t auto /dev/sdb1 /home/data
    mount: mount point /home/data does not exist           /home/data目录不存在,需要先创建。

      或者是通过修改fstab文件挂在磁盘,vim /etc/fstab。在末尾加入:

    /dev/sdb1(磁盘分区)  /home/data(挂载目录) ext3(文件格式:需要与sdb1文件格式一致)defaults  0  0

      因为mount挂载在重启服务器后会失效,所以最好需要将分区信息写到/etc/fstab文件中让它永久挂载:最后通过mount -a,或者reboot虚拟机都可以实现磁盘绑定。

    6、确认挂载是否成功

      可以通过df -h或者df -h (具体挂载点)查看是否磁盘挂载成功。如:

    [root@localhost home]# df -TH /home/data/
    文件系统       类型  容量  已用  可用 已用% 挂载点
    /dev/sdb1      xfs   1.7T   34M  1.7T    1% /home/data

    7、重新mount方法

      如果磁盘需要重新绑定,重新按照上述方法即可,如果reaonly file system,/etc/fstab是只读的,此时需要重新mount,改为可读写。

      mount命令为:mount  -o  remount,rw  -t  文件系统格式  磁盘名称  挂载点,如:

    mount  -o  remount,rw  -t  ext3 /dev/sdb1 /home/data
  • 相关阅读:
    死磕 java线程系列之线程池深入解析——定时任务执行流程
    死磕 java线程系列之线程池深入解析——未来任务执行流程
    死磕 java线程系列之线程池深入解析——普通任务执行流程
    面试 LockSupport.park()会释放锁资源吗?
    死磕 java线程系列之线程池深入解析——生命周期
    死磕 java线程系列之线程的生命周期
    《动手学深度学习》系列笔记—— 1.2 Softmax回归与分类模型
    《动手学深度学习》系列笔记——1.1 线性回归
    【Python学习笔记】2. 高级变量类型
    【Python学习笔记】1. Python基础知识
  • 原文地址:https://www.cnblogs.com/jing99/p/9375313.html
Copyright © 2011-2022 走看看