zoukankan      html  css  js  c++  java
  • linux 系统磁盘管理(主分区和逻辑分区)

    摘要:linux系统磁盘管理主分区和逻辑分区


    1、linux系统分区应了解的常识

    • 硬盘分区实质上是对硬盘的一种格式化,然后才能使用硬盘保存各种信息,在创建分区时,就已经设置好了硬盘的各项物理参数,指定了硬盘主引导记录(即Master Boot Record,一般简称为MBR)和引导记录备份的存放位置.
    • MBR概述:全称为Master Boot Record,即硬盘的主引导记录;是位于磁盘最前边的一段引导(Loader)代码。它负责磁盘操作系统(DOS)对磁盘进行读写时分区合法性的判别、分区引导信息的定位,它由磁盘操作系统(DOS)在对硬盘进行初始化时产生的。
      1.主引导程序即主引导记录(MBR)(占446个字节)
      可在FDISK程序中找到,它用于硬盘启动时将系统控制转给用户指定的并在分区表中登记了的某个操作系统。
      2.磁盘分区表项(DPT,Disk Partition Table)
      由四个分区表项构成(每个16个字节)。
      负责说明磁盘上的分区情况,其内容由磁盘介质及用户在使用FDISK定义分区时决定。(具体内容略)
      3.结束标志(占2个字节)(魔数)
      其值为AA55,存储时低位在前,高位在后,即看上去是55AA(十六进制)。
    • 分区编号:主分区1-4 ,逻辑分区5……
    • LINUX规定:逻辑分区必须建立在扩展分区之上,而不是建立在主分区上
    • 分区作用:
      ①主分区:主要是用来启动操作系统的,它主要放的是操作系统的启动或引导程序,/boot分区最好放在主分区上;
      ②扩展分区是不能使用的,它只是做为逻辑分区的容器存在的,先创建一个扩展分区,在扩展分区之上创建逻辑分区;
      ③我们真正存放数据的是主分区和逻辑分区,大量数据都放在逻辑分区中。

    注意:使用分区工具fdisk对磁盘进行操作,分区,格式化(重点)

    注意:
    主分区+扩展分区 最多只能有4个
    扩展分区可以是0个,最多是1个
    扩展分区不能直接使用,扩展分区必须首先创建成逻辑分区才能使用
    逻辑分区可以是0个 1个 多个

    2、磁盘管理命令

    fdisk : Linux分区表操作工具软件
    n: 添加新的分区
    p: 查看分区信息
    w: 保存退出
    q: 不保存退出
    d: 删除分区
    t: 改变分区类型

    3、查看磁盘命令

    ls  /dev/sd*     #查看磁盘
    

    其中:a-z 表示设备的序号,如sda表示第一块scsi硬盘,sdb就是第二块……
    n 表示每块磁盘上划分的磁盘分区编号

    4、创建主分区演示:

    工作环境中为English环境,方便大家阅读在国语环境下演示

    #第一步:添加磁盘创建主分区
    
    ╭─root@localhost.localdomain ~  
    ╰─➤  ls /dev/sd*     #查看磁盘
    /dev/sda  /dev/sda1  /dev/sda2  /dev/sdb  /dev/sdc  /dev/sdd  /dev/sde
    ╭─root@localhost.localdomain ~  
    ╰─➤  fdisk /dev/sdb     #管理分区                                                        
    欢迎使用 fdisk (util-linux 2.23.2)。
    
    更改将停留在内存中,直到您决定将更改写入磁盘。
    使用写入命令前请三思。
    
    Device does not contain a recognized partition table
    使用磁盘标识符 0x9fccbf7c 创建新的 DOS 磁盘标签。
    
    命令(输入 m 获取帮助):n   #新建分区
    Partition type:       #分区类型
       p   primary (0 primary, 0 extended, 4 free)     #p--->主分区
       e   extended       #e  --->   扩展分区
    Select (default p): p     #选择主分区
    分区号 (1-4,默认 1):
    起始 扇区 (2048-41943039,默认为 2048): #分区磁盘的起始位,默认值,回车就好!
    将使用默认值 2048
    Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+5G   #磁盘大小选择,加号不能省略,回车即可
    分区 1 已设置为 Linux 类型,大小设为 5 GiB
    
    命令(输入 m 获取帮助):P   #查询分区是否创建成功
    
    磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
    Units = 扇区 of 1 * 512 = 512 bytes
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    磁盘标签类型:dos
    磁盘标识符:0x9fccbf7c
    
       设备 Boot        Start         End      Blocks   Id  System
    /dev/sdb1            2048    10487807     5242880   83  Linux    #sdb1
    
    命令(输入 m 获取帮助):w    #保存退出
    The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    正在同步磁盘。
    
    #第二步:查看磁盘
    
    ╭─root@localhost.localdomain ~  
    ╰─➤  ls /dev/sd*
    /dev/sda  /dev/sda1  /dev/sda2  /dev/sdb  /dev/sdb1  /dev/sdc  /dev/sdd  /dev/sde
    
    #第三步:格式化成xfs文件系统
    
    ╭─root@localhost.localdomain ~  
    ╰─➤  mkfs.xfs /dev/sdb1
    meta-data=/dev/sdb1              isize=512    agcount=4, agsize=327680 blks
             =                       sectsz=512   attr=2, projid32bit=1
             =                       crc=1        finobt=0, sparse=0
    data     =                       bsize=4096   blocks=1310720, 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@localhost.localdomain ~  
    ╰─➤  mkdir /xfs_du   #创建本地目录          
    ╭─root@localhost.localdomain ~  
    ╰─➤  mount /dev/sdb1 /xfs_du   #使用mount挂载   mount 磁盘 目录
    
    #第五步:查看挂载信息
    
    ╭─root@localhost.localdomain ~  
    ╰─➤  df -h
    文件系统             容量  已用  可用 已用% 挂载点
    /dev/mapper/cl-root   17G  4.7G   13G   28% /
    devtmpfs             473M     0  473M    0% /dev
    tmpfs                489M   88K  489M    1% /dev/shm
    tmpfs                489M  7.1M  482M    2% /run
    tmpfs                489M     0  489M    0% /sys/fs/cgroup
    /dev/sda1           1014M  173M  842M   18% /boot
    tmpfs                 98M  8.0K   98M    1% /run/user/0
    /dev/sr0             4.1G  4.1G     0  100% /run/media/root/CentOS 7 x86_64
    /dev/sdb1            5.0G   33M  5.0G    1% /xfs_du
    
    #第六步:开机自动挂载
    
    ╭─root@localhost.localdomain ~  
    ╰─➤  echo "/dev/sdb1/xfs_du xfs defaults 0 0" >> /etc/fstab
    
    #开机自动挂载方法2:
    
    echo “mount /dev/sdb1 /xfs_du” >> /etc/rc.local
    chmod +x /etc/rc.d/rc.local   #给个执行权限
    
    
    # /etc/rc.local 
       是使用者自订开机启动程序的文件,把需要开机自动运行的程序写在这个脚本里
    

    fdisk分区演示–创建逻辑分区

    # 第一步:fdisk添加扩展分区
    
    ╭─root@du ~  
    ╰─➤ 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): n    #添加新分区
    Partition type:
    p primary (1 primary, 0 extended, 3 free)
    e extended
    Select (default p): e     #选择扩展分区
    Partition number (2-4, default 2):
    First sector (10487808-41943039, default 10487808):
    Using default value 10487808
    Last sector, +sectors or +size{K,M,G} (10487808-41943039, default 41943039): +5G    #5G大小
    Partition 2 of type Extended and of size 5 GiB is set
    
    Command (m for help): P   #查看分区
    
    Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 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: 0xe140b235
    
    Device Boot Start End Blocks Id System
    /dev/sdb1 2048 10487807 5242880 83 Linux
    /dev/sdb2 10487808 20973567 5242880 5 Extended
    
    Command (m for help): w   #保存退出
    The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    Syncing disks.
    
    #第二步:创建逻辑分区
    
    ╭─root@du ~  
    ╰─➤ 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): n
    Partition type:
    p primary (1 primary, 1 extended, 2 free)
    l logical (numbered from 5)
    Select (default p): l    #创建逻辑分区
    Adding logical partition 5
    First sector (10489856-20973567, default 10489856):
    Using default value 10489856
    Last sector, +sectors or +size{K,M,G} (10489856-20973567, default 20973567): +10G   #逻辑分区大小不能超过扩展分区大小
    Value out of range.
    Last sector, +sectors or +size{K,M,G} (10489856-20973567, default 20973567): +2g
    Unsupported suffix: ‘g’.
    Supported: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)
    2^N: K (KibiByte), M (MebiByte), G (GibiByte)
    Last sector, +sectors or +size{K,M,G} (10489856-20973567, default 20973567): +2G
    Partition 5 of type Linux and of size 2 GiB is set
    
    Command (m for help): P
    
    Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 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: 0xe140b235
    
    Device Boot Start End Blocks Id System
    /dev/sdb1 2048 10487807 5242880 83 Linux
    /dev/sdb2 10487808 20973567 5242880 5 Extended
    /dev/sdb5 10489856 14684159 2097152 83 Linux
    
    Command (m for help): W
    The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    Syncing disks.
    
    #第三步:创建文件系统
    
    ╭─root@du ~  
    ╰─➤ ls /dev/sd*
    /dev/sda /dev/sda1 /dev/sda2 /dev/sdb /dev/sdb1 /dev/sdb2 /dev/sdb5
    ╭─root@du ~  
    ╰─➤ mkfs.xfs /dev/sdb5
    meta-data=/dev/sdb5 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
    
    #第四步:开机自动挂载
    
    ╭─root@du ~  
    ╰─➤ echo “mount /dev/sdb5 /xfs_du” >> /etc/rc.local
    
    

    本地目录创建交换分区

    第一步:创建目录

    mkdir /swap
    

    第二步:创建空文件

    dd if=/dev/zero of=/swap/swap bs=2M count=2014
    

    第三步:格式化为swap格式

    mkswap /swap/swap
    

    第四步:写入文件/etc/fstab 开机自动挂载

    echo "/swap/swap swap swap defaults 0 0" >> /etc/fstab
    

    第五步:修改权限,挂载

    chmod 0600 /swap/swap
    
    mount -a
    

    第六步:开启swap

    swapon -a
    
    [root@node1 ~]# free -h
                  total        used        free      shared  buff/cache   available
    Mem:           976M        321M         60M        9.5M        594M        466M
    Swap:          5.9G        221M        5.7G
    

    最后:关闭swap

    swapoff -a
    

  • 相关阅读:
    python课堂练习
    Python爬虫学习笔记(九)——Selenium的使用
    Python爬虫学习笔记(八)——智高考数据爬取
    Python爬虫学习笔记(七)——Ajax
    Python爬虫学习笔记(六)——BeautifulSoup和pyquery的使用
    Python爬虫学习笔记(五)——XPath的使用
    Python爬虫学习笔记(四)——猫眼电影Top100
    Python爬虫学习笔记(三)——正则表达式
    Python爬虫学习笔记(二)——requests库的使用
    Python爬虫学习笔记(一)——urllib库的使用
  • 原文地址:https://www.cnblogs.com/du-z/p/10870162.html
Copyright © 2011-2022 走看看