zoukankan      html  css  js  c++  java
  • linux 分区管理

    1. 查看系统中硬盘的设备

    [root@centos6 ~]# ls /dev/sd*
    /dev/sda  /dev/sda1  /dev/sda2  /dev/sda3  /dev/sdb

    可以看出,系统有两块硬盘,sda 与 sdb,sda有是三个分区。

    2. 查看系统分区

    [root@centos6 ~]# df
    Filesystem     1K-blocks    Used Available Use% Mounted on
    /dev/sda3       17941936 4095324  12928548  25% /
    tmpfs             514132      72    514060   1% /dev/shm
    /dev/sda1         487652   32421    429631   8% /boot

    或者:
    [root@centos6
    ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda3 18G 4.0G 13G 25% / tmpfs 503M 72K 503M 1% /dev/shm /dev/sda1 477M 32M 420M 8% /boot [root@centos6 ~]#

    注解:

    1. 显示的只有sda硬盘的分区,因为sdb硬盘并没有分区且没有挂载到目录下。

    2. 第一个命令df 显示一个 1K-blocks列,意思是,这个分区有多少个block块,一个block块是 8 * 521B,对于硬盘而言,最小单位是扇区,一个扇区是512个字节。块属于操作系统级别,操作系统在存储数据时,是一个块一个块的去存储。这样存储数据时效率高。

    3. 硬盘分区

    第一步:

    [root@centos6 ~]# fdisk /dev/sdb
    Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
    Building a new DOS disklabel with disk identifier 0x0b37e823.
    Changes will remain in memory only, until you decide to write them.
    After that, of course, the previous content won't be recoverable.
    
    Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
    
    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 (m for help): n
    Command action
       e   extended                # 扩展分区
       p   primary partition (1-4) # 主分区

    第三步:选择 创建 主分区(p)

    p
    Partition number (1-4): 

    第四步:输入分区编号 1

    Partition number (1-4): 1
    First cylinder (1-2610, default 1): 

    第五步:输入柱面 起始位置,默认为1, 默认即可,点击回车

    First cylinder (1-2610, default 1): 
    Using default value 1
    Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): 

    第六步:输入柱面 结束位置,可以输入柱面结束位置,也可以输入分区大小,因为柱面之间的位置就是你的分区大小

    输入 +5G

    First cylinder (1-2610, default 1):
    Using default value 1
    Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): +5G

    第七步:第一个分区,分区完成,按p查看

    Command (m for help): p
    
    Disk /dev/sdb: 21.5 GB, 21474836480 bytes
    255 heads, 63 sectors/track, 2610 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: 0x1b5d0db0
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdb1               1         654     5253223+  83  Linux
    
    Command (m for help): 

    继续输入 n 新建分区

    Command (m for help): n
    Command action
       e   extended
       p   primary partition (1-4)
    p
    Partition number (1-4): 2           # 输入分区编码
    First cylinder (655-2610, default 655): # 输入柱面起始位置,不用输入,直接回车,会接着上一个区分的最后柱面位置,继续排,如上面结束时654,这次开始是655

     Using default value 655

    Last cylinder, +cylinders or +size{K,M,G} (655-2610, default 2610): +5G   # 输入分区大小
    
    Command (m for help): P    # 分区完成,按p查看
    
    Disk /dev/sdb: 21.5 GB, 21474836480 bytes
    255 heads, 63 sectors/track, 2610 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: 0x1b5d0db0
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdb1               1         654     5253223+  83  Linux
    /dev/sdb2             655        1308     5253255   83  Linux
    
    Command (m for help): 

    继续输入 n 再分一个分区

    Command (m for help): n
    Command action
       e   extended
       p   primary partition (1-4)
    p
    Partition number (1-4): 3
    First cylinder (1309-2610, default 1309): 
    Using default value 1309
    Last cylinder, +cylinders or +size{K,M,G} (1309-2610, default 2610): +5G
    
    Command (m for help): P
    
    Disk /dev/sdb: 21.5 GB, 21474836480 bytes
    255 heads, 63 sectors/track, 2610 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: 0x1b5d0db0
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdb1               1         654     5253223+  83  Linux
    /dev/sdb2             655        1308     5253255   83  Linux
    /dev/sdb3            1309        1962     5253255   83  Linux

    上面已经分了3个主分区,下面分一个逻辑分区

    Command (m for help): n
    Command action
       e   extended
       p   primary partition (1-4)
    e                                       # 输入e 创建扩展分区
    Selected partition 4
    First cylinder (1963-2610, default 1963):   #  这里直接回车 回车,表示将剩余的空间,全部分给扩展分区。
    Using default value 1963
    Last cylinder, +cylinders or +size{K,M,G} (1963-2610, default 2610): 
    Using default value 2610
    
    Command (m for help): p
    
    Disk /dev/sdb: 21.5 GB, 21474836480 bytes
    255 heads, 63 sectors/track, 2610 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: 0x1b5d0db0
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdb1               1         654     5253223+  83  Linux
    /dev/sdb2             655        1308     5253255   83  Linux
    /dev/sdb3            1309        1962     5253255   83  Linux
    /dev/sdb4            1963        2610     5205060    5  Extended     #  扩展区分
    
    Command (m for help): 

    以上扩展分区创建完成,扩展分区是不能使用,即不能就进行文件存储,需要在扩展区分的基础上创建逻辑分区。

    继续...

    Command (m for help): n
    First cylinder (1963-2610, default 1963): 
    Using default value 1963
    Last cylinder, +cylinders or +size{K,M,G} (1963-2610, default 2610): +1G
    
    Command (m for help): P
    
    Disk /dev/sdb: 21.5 GB, 21474836480 bytes
    255 heads, 63 sectors/track, 2610 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: 0x1b5d0db0
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdb1               1         654     5253223+  83  Linux
    /dev/sdb2             655        1308     5253255   83  Linux
    /dev/sdb3            1309        1962     5253255   83  Linux
    /dev/sdb4            1963        2610     5205060    5  Extended
    /dev/sdb5            1963        2094     1060258+  83  Linux
    
    Command (m for help): 

    这里看一下,/dev/sdb5 这个分区的起始位置 是扩展分区起始位置一致,都为1963,因为扩展分区就是一个逻辑概念,不占用空间。

    继续创建扩展分区

    Command (m for help): n
    First cylinder (2095-2610, default 2095): 
    Using default value 2095
    Last cylinder, +cylinders or +size{K,M,G} (2095-2610, default 2610): +1G
    
    Command (m for help): P
    
    Disk /dev/sdb: 21.5 GB, 21474836480 bytes
    255 heads, 63 sectors/track, 2610 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: 0x1b5d0db0
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdb1               1         654     5253223+  83  Linux
    /dev/sdb2             655        1308     5253255   83  Linux
    /dev/sdb3            1309        1962     5253255   83  Linux
    /dev/sdb4            1963        2610     5205060    5  Extended
    /dev/sdb5            1963        2094     1060258+  83  Linux
    /dev/sdb6            2095        2226     1060258+  83  Linux
    
    Command (m for help): /dev/sdb5

    继续...

    Command (m for help): n
    First cylinder (2227-2610, default 2227): 
    Using default value 2227
    Last cylinder, +cylinders or +size{K,M,G} (2227-2610, default 2610):  # 直接回车 回车 将剩余的空间全部分给这个分区
    Using default value 2610
    
    Command (m for help): p
    
    Disk /dev/sdb: 21.5 GB, 21474836480 bytes
    255 heads, 63 sectors/track, 2610 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: 0x1b5d0db0
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdb1               1         654     5253223+  83  Linux
    /dev/sdb2             655        1308     5253255   83  Linux
    /dev/sdb3            1309        1962     5253255   83  Linux
    /dev/sdb4            1963        2610     5205060    5  Extended
    /dev/sdb5            1963        2094     1060258+  83  Linux
    /dev/sdb6            2095        2226     1060258+  83  Linux
    /dev/sdb7            2227        2610     3084448+  83  Linux
    
    Command (m for help): 

    第八步:分区完成之后 按 w 保存

    Command (m for help): w
    The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    Syncing disks.

    最后 输入命令:partprobe 跟新分区列表

    [root@centos6 ~]# partprobe
    Warning: WARNING: the kernel failed to re-read the partition table on /dev/sda (设备或资源忙).  As a result, it may not reflect all of your changes until after reboot.
    Warning: 无法以读写方式打开 /dev/sr0 (只读文件系统)。/dev/sr0 已按照只读方式打开。
    Warning: 无法以读写方式打开 /dev/sr0 (只读文件系统)。/dev/sr0 已按照只读方式打开。
    Error: 无效的分区表 - /dev/sr0 出现递归分区。
    [root@centos6 ~]# 

    最后查看你的分区情况

    如果不显示,重启系统

    [root@centos6 ~]# ls /dev/sd*
    /dev/sda  /dev/sda1  /dev/sda2  /dev/sda3  /dev/sdb  /dev/sdb1  /dev/sdb2  /dev/sdb3  /dev/sdb4  /dev/sdb5  /dev/sdb6  /dev/sdb7

    4. 格式化分区,制作文件系统

    磁盘分区之后,并不能使用,需要将分区格式化,格式化的过程是为分区写入文件系统。

    [root@centos6 ~]# mkfs.ext4 /dev/sdb3
    mke2fs 1.41.12 (17-May-2010)
    文件系统标签=
    操作系统:Linux
    块大小=4096 (log=2)
    分块大小=4096 (log=2)
    Stride=0 blocks, Stripe width=0 blocks
    328656 inodes, 1313313 blocks
    65665 blocks (5.00%) reserved for the super user
    第一个数据块=0
    Maximum filesystem blocks=1346371584
    41 block groups
    32768 blocks per group, 32768 fragments per group
    8016 inodes per group
    Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736
    
    正在写入inode表: 完成                            
    Creating journal (32768 blocks): 完成
    Writing superblocks and filesystem accounting information: 完成
    
    This filesystem will be automatically checked every 29 mounts or
    180 days, whichever comes first.  Use tune2fs -c or -i to override.
    [root@centos6 ~]# 

    将建的分区一 一格式化,扩展分区不需要格式化

    5. 挂载

    将格式化的分区挂载的目录下,分区才能被真正使用,进行文件读写。

    挂载定义: 建立分区与目录映射关系的过程。

    [root@centos6 /]# mount /dev/sdb2 /s2
    [root@centos6 /]# df
    Filesystem     1K-blocks    Used Available Use% Mounted on
    /dev/sda3       17941936 4095632  12928240  25% /
    tmpfs             514132      72    514060   1% /dev/shm
    /dev/sda1         487652   32421    429631   8% /boot
    /dev/sdb2        5039624   10264   4766700   1% /s2

    卸载:

    [root@centos6 /]# umount /s2
    [root@centos6 /]# df
    Filesystem     1K-blocks    Used Available Use% Mounted on
    /dev/sda3       17941936 4095632  12928240  25% /
    tmpfs             514132      72    514060   1% /dev/shm
    /dev/sda1         487652   32421    429631   8% /boot
     umount -l /s2    # 强制卸载

    6. 设置开始自动挂载 

    上面分区挂载到对应的目录下之后,如果系统重启,系统就会将挂载取消,因此可以设计开始时,自动挂载

    vim /etc/fstab 
    在/etc/fstab 增加一行
    
    /dev/sdb1               /test                   ext4    defaults        0 0

    7. 思考

    例如,

    [root@centos6 /]# cd /opt
    [root@centos6 opt]# ls
    rh
    [root@centos6 opt]# touch a.txt
    [root@centos6 opt]# ls /opt
    a.txt  rh

    touch a.txt 的过程,文件到底存放到哪去了?

    系统会找其父目录opt有没有映射原设备,如果没有找opt的上一级目录 / 有没有源设备,而 / 挂载的 /dev/sda3 分区下,那么a.txt 就存放到 /dev/sda3 这个源设备下(分区)。看样子文件都存放在目录下,其实都是存放在目录对应的源设备下。

    如果opt有源设备,那么文件就存放在opt对应的源设备下。

    那么 ls /opt 显示的就是 optt对应的源设备下 或者 / 对应的源设备下的内容

  • 相关阅读:
    59、web框架以及Django框架
    58、bootstrap
    56、jQuery事件
    55、原生js事件与jQuery
    36-并发编程
    4.20---远程执行命令的CS架构软件
    35-socket 基于套接字的TCP与UDP
    34-网络编程
    33-异常处理
    4.15---元类练习
  • 原文地址:https://www.cnblogs.com/yuqiangli0616/p/9787830.html
Copyright © 2011-2022 走看看