Linux系统管理06——磁盘管理

磁盘结构

1、硬盘的物理结构

盘片:硬盘有多个盘片,每个盘片2面

磁头:每面一个磁头

2、硬盘的数据结构

扇区:盘片被分为多个扇形区域,每个扇形区存放512字节的数据

磁道:统一盘片不同半径的同心圆

柱面:不同盘片相同半径构成的圆柱面

3、硬盘存储容量=磁头数x磁道(柱面)数x每道扇区数x每扇区字节数

4、可以用柱面/磁头/扇区来唯一定位磁盘上的每一个区域

二、磁盘接口

1、IDE(并口)

2、SATA(串口)

速度快

纠错能力强

3、SCSI

转速快

CPU占用资源低

支持热插拔

4、设备目录:/dev

Hd  IDE

Sd  SATA   SCSI  SAS

磁盘顺序:a..z

分区:用阿拉伯数字表示

、MBR

1、定义:MBR(Master Boot Record)主引导记录

2、位置:MBR位于硬盘第一个物理扇区处

3、MBR中包含硬盘的主引导程序和硬盘分区表。分区表有4个分区记录区,每个分区记录区占16个字节,共64字节。446字节存放主引导程序,2字节校验。

磁盘分区表示

1、Linux中将硬盘等设备均表示为文件

2、磁盘分区结构

硬盘中的主分区数目只有4个,因此主分区和扩展分区的序号也就限制在1~4。扩展分区再分为逻辑分区,逻辑分区的序号始终从5开始。

五、文件系统类型

1、EXT4,第4代扩展(Extended)文件系统

存放文件和目录数据的分区

典型的日志型文件系统

系统中默认使用的文件系统

2、SWAP,交换文件系统

为Linux系统建立交换分区,类似于windows系统的虚拟缓存

3、Linux支持的其他系统文件类型

FAT16、FAT32、NIFS、XFS、JFS……

六、检测并确认新硬盘  fdisk -l命令

1、格式:fdisk –l [磁盘设备]

2、输出信息说明

Device:分区的设备文件名称

Boot:是否是引导分区。是,则有“*”标识

Stat/End:分区的起始/结束位置(柱面数)

Blocks:块,默认大小为1024字节

Id:分区对应的系统ID号。83表示Linux中的EXT4分区、8e表示LVM逻辑卷、82表示swap、fd表示RAID

System:分区类型

示例:列出当前系统中所有硬盘设备及其分区的信息

[root@crushlinux ~]# fdisk -l

Disk /dev/sda:  bytes
 heads,  sectors/track,  cylinders
Units = cylinders of  *  =  bytes
Sector size (logical/physical):  bytes /  bytes
I/O size (minimum/optimal):  bytes /  bytes
Disk identifier: 0x000d78d8

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *                                Linux
Partition  does not end on cylinder boundary.
/dev/sda2                             8e  Linux LVM

Disk /dev/mapper/vg_duanwenya-lv_root:  bytes
 heads,  sectors/track,  cylinders
Units = cylinders of  *  =  bytes
Sector size (logical/physical):  bytes /  bytes
I/O size (minimum/optimal):  bytes /  bytes
Disk identifier: 0x00000000

Disk /dev/mapper/vg_duanwenya-lv_swap:  MB,  bytes
 heads,  sectors/track,  cylinders
Units = cylinders of  *  =  bytes
Sector size (logical/physical):  bytes /  bytes
I/O size (minimum/optimal):  bytes /  bytes
Disk identifier: 0x00000000

七、规划硬盘中的分区  fdisk命令

1、作用:在交互式的操作环境中管理磁盘分区

2、格式:fdisk [磁盘设备]

3、常用选项:

m:查看操作指令的帮助信息

p:列表查看分区信息

n:新建分区

d:删除分区

t:变更分区类型

w:保存分区设置并退出

q:放弃分区设置并退出

Ctrl+退格键:删除输入的错误字符

4、示例:

为主机新增一块20G的SCSI硬盘

对该硬盘进行分区

划分两个主分区,各5G,剩余空间为扩展分区

在扩展分区中建立两个逻辑分区,第一个逻辑分区1G,类型为swap。第二个逻辑 分区为9G。

(1)关机

(2)新增硬盘

(3)

开机,查看新硬盘是否添加 

()使用fdisk进行分区

[root@crushlinux ~]# 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 0x4f3a72ac.

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  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): m

Command action

   a   toggle a bootable flag

   b   edit bsd disklabel

   c   toggle the dos compatibility flag

   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

   p   print the partition table

   q   quit without saving changes

   s   create a new empty Sun disklabel

   t   change a partition's system id

   u   change display/entry units

   v   verify the partition table

   w   write table to disk and exit

   x   extra functionality (experts only)

Command (m for help): p

Disk /dev/sdb:  bytes

 heads,  sectors/track,  cylinders

Units = cylinders of  *  =  bytes

Sector size (logical/physical):  bytes /  bytes

I/O size (minimum/optimal):  bytes /  bytes

Disk identifier: 0x4f3a72ac

   Device Boot      Start         End      Blocks   Id  System

Command (m for help): n

Command action

   e   extended 【扩展分区】

   p   primary partition (-)  【主分区】

p

Partition number (-): 

First cylinder (-, default ): 回车

Using default value 

Last cylinder, +cylinders or +size{K,M,G} (-, default ): +5G

Command (m for help): n

Command action

   e   extended

   p   primary partition (-)

p

Partition number (-): 

First cylinder (-, default ): 回车

Using default value 

Last cylinder, +cylinders or +size{K,M,G} (-, default ): +5G

Command (m for help): n

Command action

   e   extended

   p   primary partition (-)

e

Partition number (-): 

First cylinder (-, default ): 回车

Using default value 

Last cylinder, +cylinders or +size{K,M,G} (-, default ): 回车

Using default value 

Command (m for help): n

Command action

   l   logical ( or over)  【逻辑分区】

   p   primary partition (-)

l

First cylinder (-, default ): 回车

Using default value 

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

Command (m for help): t

Partition number (-): 

Hex code (type L to list codes): 

Changed system type of partition  to  (Linux swap / Solaris)

Command (m for help): n

Command action

   l   logical ( or over)

   p   primary partition (-)

l

First cylinder (-, default ): 回车

Using default value 

Last cylinder, +cylinders or +size{K,M,G} (-, default ): 回车

Using default value 

Command (m for help): w

The partition table has been altered!

Calling ioctl() to re-read partition table.

Syncing disks.

八、大小超过2T的分区规划  parted命令

1、作用:规划大小超过2T的分区,也可用于小分区的规划

2、格式:parted [选项] [分区设备]

3、交互式状态下的常用命令:

?/help/--help:帮助

quit/q:保存退出

print/p:打印

mklabel:改变硬盘的文件类型

mkpart:分区

rm:删除某分区,后面跟分区号,例如:rm 3

4、示例:

为主机新增一块20G的SCSI硬盘

对该硬盘进行分区

将硬盘类型改为gpt

划分三个分区,前两个分区各5G,剩下的都空间都划分给第三分区

(1)关机

(2)新增硬盘

(3)开机,查看新硬盘是否添加

[root@crushlinux ~]# parted -l

Model: VMware, VMware Virtual S (scsi)

Disk /dev/sda: 107GB

Sector size (logical/physical): 512B/512B

Partition Table: msdos

Number  Start   End    Size   Type     File system  标志

       1049kB  525MB  524MB  primary  ext4         启动

       525MB   107GB  107GB  primary               lvm

Model: VMware, VMware Virtual S (scsi)

Disk /dev/sdb: .5GB

Sector size (logical/physical): 512B/512B

Partition Table: msdos

Number  Start  End  Size  Type  File system  标志

[root@crushlinux ~]# parted /dev/sdb

GNU Parted 2.1

使用 /dev/sdb

Welcome to GNU Parted! Type 'help' to view a list of commands.

(parted) help                                                             

  align-check TYPE N                        check partition N for TYPE(min|opt) alignment

  check NUMBER                             do a simple check on the file system

  cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER   copy file system to another partition

  help [COMMAND]                           print general help, or help on COMMAND

  mklabel,mktable LABEL-TYPE               create a new disklabel (partition table)

  mkfs NUMBER FS-TYPE                      make a FS-TYPE file system on partition NUMBER

  mkpart PART-TYPE [FS-TYPE] START END     make a partition

  mkpartfs PART-TYPE FS-TYPE START END     make a partition with a file system

  move NUMBER START END                    move partition NUMBER

  name NUMBER NAME                         name partition NUMBER as NAME

  print [devices|free|list,all|NUMBER]     display the partition table, available devices,

        free space, all found partitions, or a particular partition

  quit                                     exit program

  rescue START END                         rescue a lost partition near START and END

  resize NUMBER START END                  resize partition NUMBER and its file system

  rm NUMBER                                delete partition NUMBER

  select DEVICE                            choose the device to edit

  set NUMBER FLAG STATE                    change the FLAG on partition NUMBER

  toggle [NUMBER [FLAG]]                   toggle the state of FLAG on partition NUMBER

  unit UNIT                                set the default unit to UNIT

  version                                  display the version number and copyright

        information of GNU Parted

(parted) mklabel 

新的磁盘标签类型?          【两次tab键】

aix    amiga  bsd    dvh    gpt    loop   mac    msdos  pc98   sun

新的磁盘标签类型? gpt

警告: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be

lost. Do you want to continue?

是/Yes/否/No? y                                                           

(parted) mkpart

分区名称?  []? part1

文件系统类型?  [ext2]? ext4                                              

起始点?                                                                 

结束点? 5G

(parted) mkpart                                                           

分区名称?  []? part2

文件系统类型?  [ext2]? ext4                                              

起始点? 5G

结束点? 10G                                                              

(parted) mkpart                                                           

分区名称?  []? part3                                                     

文件系统类型?  [ext2]? ext4                                              

起始点? 10G

结束点? -                                                               

(parted) p                                                                

Model: VMware, VMware Virtual S (scsi)

Disk /dev/sdb: .5GB

Sector size (logical/physical): 512B/512B

Partition Table: gpt

Number  Start   End     Size    File system  Name   标志

       1049kB  5000MB  4999MB               part1

       5000MB  .0GB  5001MB               part2

       .0GB  .5GB   .5GB                part3

(parted) quit

[root@crushlinux ~]# ls -l /dev/sdb*

brw-rw----.  root disk ,  1月   : /dev/sdb

brw-rw----.  root disk ,  1月   : /dev/sdb1

brw-rw----.  root disk ,  1月   : /dev/sdb2

brw-rw----.  root disk ,  1月   : /dev/sdb3

[root@crushlinux ~]# mkfs.ext4 /dev/sdb1

mke2fs  (-May-)

文件系统标签=

操作系统:Linux

块大小= (log=)

分块大小= (log=)

Stride= blocks, Stripe width= blocks

 inodes,  blocks

 blocks (5.00%) reserved for the super user

第一个数据块=

Maximum filesystem blocks=

 block groups

 blocks per group,  fragments per group

 inodes per group

Superblock backups stored on blocks:

, , , , , , 

正在写入inode表: 完成                            

Creating journal ( blocks): 完成

Writing superblocks and filesystem accounting information: 完成

This filesystem will be automatically checked every  mounts or

 days, whichever comes first.  Use tune2fs -c or -i to override.

[root@crushlinux ~]# mkdir /sdb1

[root@crushlinux ~]# mount /dev/sdb1 /sdb1/

[root@crushlinux ~]# cd /sdb1/

[root@crushlinux sdb1]# echo ceshiwenjian > test.txt

[root@crushlinux sdb1]# cd

[root@crushlinux ~]# umount /sdb1/

[root@crushlinux ~]# parted /dev/sdb

GNU Parted 2.1

使用 /dev/sdb

Welcome to GNU Parted! Type 'help' to view a list of commands.

(parted) p                                                                

Model: VMware, VMware Virtual S (scsi)

Disk /dev/sdb: .5GB

Sector size (logical/physical): 512B/512B

Partition Table: gpt

Number  Start   End     Size    File system  Name   标志

       1049kB  5000MB  4999MB  ext4         part1

       5000MB  .0GB  5001MB               part2

       .0GB  .5GB  .5GB               part3

(parted)        【模拟误删除分区】                                                      

(parted) p                                                                

Model: VMware, VMware Virtual S (scsi)

Disk /dev/sdb: .5GB

Sector size (logical/physical): 512B/512B

Partition Table: gpt

Number  Start   End     Size    File system  Name   标志

       5000MB  .0GB  5001MB               part2

       .0GB  .5GB  .5GB               part3

(parted) rescue      【救援误删除分区】                                             

起始点?                                                                 

结束点? 5G                                                               

信息: A ext4 primary partition was found at 1049kB -> 5000MB.  Do you want to add it to the

partition table?

是/Yes/否/No/放弃/Cancel? y                                               

(parted) p                                                                

Model: VMware, VMware Virtual S (scsi)

Disk /dev/sdb: .5GB

Sector size (logical/physical): 512B/512B

Partition Table: gpt

Number  Start   End     Size    File system  Name   标志

       1049kB  5000MB  4999MB  ext4

       5000MB  .0GB  5001MB               part2

       .0GB  .5GB  .5GB               part3

(parted) q                                                                

信息: You may need to update /etc/fstab.

[root@crushlinux ~]# mount /dev/sdb1 /sdb1/

[root@crushlinux ~]# cat /sdb1/test.txt    【测试文件已被找回】

ceshiwenjian

Linux 系统管理06--磁盘管理的更多相关文章

  1. Linux系统管理_磁盘管理——敬请期待!!!

    df 显示磁盘空间使用情况 -a 全部文件系统列表 -h 以方便阅读的方式显示 -T 列出文件系统类型 du 查看目录和文件的磁盘空间使用情况 -a 显示目录中所有文件大小 -h 以易读方式显示文件大 ...

  2. Linux基本命令——系统管理和磁盘管理

    转: Linux基本命令--系统管理和磁盘管理 Linux命令--系统管理和磁盘管理 一.系统管理 1.1 时间相关指令 <1> 查看当前日历: cal <2> 显示或设置时间 ...

  3. Linux文件系统与磁盘管理

    Linux文件系统与磁盘管理 有哪些文件系统: FAT:微软在Dos/Windows系列操作系统中共使用的一种文件系统的总称.       exFAT(Extended File Allocation ...

  4. Linux 系统管理04--账号管理

    Linux系统管理04--账号管理 一.用户账号管理 1.用户账号概述 (1)用户账号的常见分类: 1>超级用户:root uid=0 gid=0 权限最大. 2>普通用户:uid> ...

  5. Linux系统的磁盘管理

    Linux系统的磁盘管理有三个命令:df.du.fdisk. df:列出Linux中所有文件系统的整体磁盘使用量: du:对文件和目录所占用磁盘空间的查看: fdisk:用于磁盘分区时列出所有的磁盘. ...

  6. 【Linux学习】Linux系统管理1—进程管理

    Linux系统管理1-进程管理 一.Linux的三种进程 Linux包括3中不同类型的进程: 交互进程:由一个shell启动的进程.交互进程可以在前后台运行 批处理进程:该进程和终端无联系,是一个进程 ...

  7. linux基本命令之磁盘管理命令(ls,cd,pwd,mkdir,rmdir,clear, touch)

    linux磁盘管理命令 1.ls(list)命令:列出目录内容. 格式:ls [参数][文件或目录] ls -a或-all表示列出所有文件和目录,以点开始的是影藏文件,例如,.bash_history ...

  8. linux基础之磁盘管理与文件系统

    上面一篇文章(https://www.cnblogs.com/ckh2014/p/7224851.html)介绍了硬盘的基本结构,那么一块磁盘如何应用取存储数据呢? 它的步骤是这样的: 识别硬盘 -- ...

  9. Linux进阶之磁盘管理及LVM逻辑卷

    本节内容 磁盘管理 LVM 一.磁盘管理 1.硬盘接口 种类及其应用: IDE接口硬盘多用于家用产品,部分应用于服务器 SATA SCSI接口硬盘主要应用于服务器 SAS只在高端服务器上,价格昂贵 2 ...

随机推荐

  1. vue关于class和样式的使用

    这篇文章主要为大家详细介绍了Vue.js的Class与样式绑定,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 数据绑定一个常见需求是操作元素的 class 列表和它的内联样式.因为它们都是 att ...

  2. 控制语句 for while if switch

    一.for…in 结构 for i in 0...4{ print(i)    //使用到了变量 i } for _ in 0...1{  // 后期没有使用到变量,可以直接用个下划线 _  占位就行 ...

  3. 很污的机器学习:从xhamster网站找到喜欢的片子

    前言 最近迷上了看黄片(大雾).每次总是去搜索想看的片子,什么asian porn anal pussy 什么的我都不知道. 搜索着搜索着我手也累了,而且我喜欢的片子也是有一定的特征的,我不想把所有的 ...

  4. jenkins gradle 编译遇到tomcat异常

    使用gradle在jenkins 上构建的时候遇到 进行构建的时候报"Could not load Logmanager org.apache.juli.ClassLoaderLogMana ...

  5. Jmeter BeanShell 时间格式化处理

    工作中碰到的,记录下 在XML格式的请求数据中,Soap接口请求中的日期参数格式是这样的"2016-07-20T18:03:00" 在日和时之间多了一个T 所以在Jmeter--& ...

  6. 关于web测试收集

    页面部分 页面清单是否完整(是否已经将所需要的页面全部都列出来了) 页面是否显示(在不同分辨率下页面是否存在,在不同浏览器版本中页面是是否显示) 页面在窗口中的显示是否正确.美观(在调整浏览器窗口大小 ...

  7. node.js 基础知识之 querystring.stringify querystring.escape

    序列化   1.  querystring.stringify({name:'chenshuai',ago:21,job:"web"})    'name=chenshuai&am ...

  8. while循环学习之统计流量

    /application/apache/logs/bbs-access_log日志文件中任意一行的格式如下,以空格为间隔第十列(2632)为此次请求内容的字节数大小 192.168.220.1 - - ...

  9. 一种类似Retrofit声明接口即可实现调用的WebApi客户端框架

    为.Net出力 java有okhttp,还在okhttp这上搞了一个retrofit,.net有HttpClient,但目前我没有发现有类似的retrofit框架.最近在搞mqtt的webApi封装, ...

  10. dotweb——go语言的一个微型web框架(二)启动dotweb

    以上的代码截图表示启动一个dotweb服务,在浏览器里输入127.0.0.1:8080,将会得到一个"index"的页面. app := dotweb.New() dotweb.N ...