测试工程师必备linux基础

第一篇服务器磁盘认识及操作

测试过程中,有一个很重要的东西,测试环境搭建,希望大家在看了本文后能够对于磁盘有一个初步的概念。本文讲述linux服务器中,磁盘的操作流程,RAID介绍,磁盘分区概念,分区工具fdisk及parted使用实践介绍,笔者水平有限,通过查阅资料和博客,难免有遗漏的和不正确的地方,还望指正。希望对大家工作中能够有所帮助。(PS:因为工作原因很久没发博客了,发一个以前写的存货吧,哈哈)

--阿木木

  • 一、磁盘基础

在服务器上,硬盘不能直接使用,需要先做RAID(磁盘阵列)或LVM,然后进行磁盘分区,然后格式化系统,然后挂载之后才能使用,需要记住磁盘的配置过程。

磁盘的选择,选择转速高的磁盘,一个磁盘由磁盘盘片、主轴、读写磁头,传动手臂,传动轴,反力矩弹簧装置等组成。主轴转速有5400/7200/10000/15000单位:分钟,常用的磁盘接口为:sata/sas/scsi/ide(基本使用ide)。磁盘的发展趋势为,体积更小,存储密度更高,速度更快,主轴的转速更快,接口更加先进,容量更大,使用更安全。当前,sata和sasi接口磁盘已经成为主流。

  • 二、磁盘接口类型(了解)

磁盘的接口,目前分为四种:SAS/SATA/SCSI/FC。

SATA(Serial ATA):使用SATA接口的磁盘又叫串口磁盘,采用串行总线连接方式,串行总线使用嵌入式信号,具有更强的纠错能力,能对传输指令进行检查,发现错误会自动纠正。串行接口还具有接口简单支持热插拔的有点,可靠、安全、热插拔、性能高。

SCSI(Small Computer System Interface):SCSI是一种广泛应用于小型机上的高速数据传输技术,不是专门为磁盘设计的接口。SCSI接口具有应用范围广、多任务、带宽大、CPU占用率地、以及热插拔等优点,因为价格昂贵,早期主要应用于中高端服务器和高档工作站。

SAS:新一代SCSI技术,采用串行技术以获得更高的传输速度,并通过缩短连接线改善内部空间等。SAS是并行SCSI接口之后开发的全新接口。此接口的设计是为了改善存储系统的效能、可用性和扩充性,提供与串行SATA磁盘的兼容性。SAS相对于SATA和SCSI的主要优势:1、降低了磁盘阵列的成本2、串行接口提升传输性能3、安装简单4、兼容性更好

企业生产场景普及程度:SAS>SATA>SSD

单位容量对比性能和价格:SSD>SAS>SATA

单位价格购买磁盘容量:SATA>SAS>SSD

  • 三、RAID介绍

首先,什么是RAID?RAID是廉价冗余磁盘阵列(Redundant Array of Inexpensive Disk)的简称,也称为磁盘阵列。Raid是一种把多块独立的物理磁盘按不同的技术方式组合起来的一个磁盘组,做完Raid后,多个磁盘可以形成逻辑上的一块大磁盘,可以提供比单个物理磁盘更大的存储量或更高的存储性能,同时可以提供不同级别数据冗余备份的一种技术。

Raid常用级别(四种):Raid0 Raid1 Raid5 Raid10

冗余从好到坏:Raid1、Raid10、Raid5、Raid0

性能从好到坏:Raid0、Raid10、Raid5、Raid1

成本从高到低:Raid10、Raid1、Raid5、Raid0

Raid0:具有最高的存储性能,可以把连续的数据分散到多个磁盘上存取。系统数据读写可以在多个磁盘并行执行,每个磁盘读写属于其本身的数据,这种数据上的并行操作可以充分利用总线带宽,提高磁盘整体存取性能。

生产应用场景:

  1. 负载均衡集群下面多个相同的RS节点服务器
  2. 分布式文件存储下面的主节点或CHUNK SERVER
  3. MySQL主从复制的多个Slave服务器
  4. 对性能要求很高,对冗余要求很低的相关业务

Raid1:镜像,最大限度的保证用户数据的可用性和可修复性。Raid1的操作方式是把用户写入一个磁盘的数据百分之百的复制到另外一个磁盘上,从而实现存储双份的数据。数据会有50%的冗余,在存储时同时写入两块磁盘,实现了数据完整备份;相对的降低了写入性能,读取数据时候可以并发。Raid1虽然不能提高存储性能,但由于其有极高的数据安全性,适用于存放重要数据,如传统行业对性能要求不高,对数据要求高的服务器和数据库存储等领域。

Raid5:是一种存储性能、数据安全和存储成本兼顾的存储解决方案。可以提供热备盘实现故障的恢复,采用奇偶校验,可靠性强,之损坏一块硬盘时,系统会根据存储的奇偶校验位,重建故障磁盘的数据。Raid5和Raid0相近似的数据读取数据,写入数据的速度比对单个磁盘进行写入操作稍慢。同时由于多个数据对应一个奇偶校验信息,Raid5的磁盘空间利用率要比Raid1高,存储成本相对较低。

Raid10(0+1)(1+0):Raid0+1是Raid0和Raid1的组合形式,也称为Raiid10,Raid10以Raid0为执行阵列,Raid1为保护阵列。拥有与Raid1一样的容错能力,用于容错处理的系统开销与单独镜像操作基本一致,由于使用Raid0作为执行登记,因此具有较高的I/o带宽。适用于数据库存储服务器等需要高性能、高容错但对容量要求不大的场景。缺点是存储容量利用率较低,单位成本贵。磁盘并行工作是相应磁轨持续性能被削弱。

  • 四、磁盘分区概念

一个硬盘的存储结构主要包括主引导记录、分区表、分区结束标志,以及其他分区的引导信息及数据信息。硬盘的主引导记录MBR存放在0磁头0磁道1扇区,512字节,其中446字节存放的是主引导记录MBR,其中64字节存放的是分区表DPT,以及2个字节的分区结束表示符。给硬盘分区的实质是在行业内对分区表进行设置,主要是划分其实以及结束磁头号、扇区号及柱面号。

为什么一个磁盘只能有四个分区(主分区p+扩展分区e)?因为一个磁盘的分区表仅仅只有64个字节,每个分区表要占用16个字节,因此一块磁盘仅仅支持4个分区表的信息,所以主分区+扩展分区不能超过4个,至少要有一个主分区。

如果已经分了3p+e(三个主分区+一个扩展分区)后,还有剩余的磁盘空间,这部分磁盘空间还能使用吗?不能,因为没有分区表了,四个分区表空间已经被占满。

扩展分区不能直接使用,需要再创建逻辑分区,扩展分区拥有自己的分区表,所以扩展分区下面的逻辑分区可以划分多个。

主分区和扩展分区的编号是1~4,逻辑分区的编号是从5开始,即使我主分区+扩展分区只分了两个,编号为sda1,sda2,逻辑分区的分区编号依旧是从5开始,而不是3。

重点:一个硬盘的主分区+扩展分区只能大于等于一个小于等于四个,扩展分区有自己的分区表,如果扩展分区需要存放数据,需要再次对扩展分区进行分区,分为逻辑分区。分区操作不会破坏数据,只会修改分区表的信息。常用分区工具fdisk/parted。Fdisk(适合给小于2T的磁盘进行分区),parted(适合给大于2T的磁盘进行分区)

  • 五、Fdisk(MBR分区方式,传统分区方式)分区演示说明

说明:凡是对于分区表操作过后,都需要写入分区表,通知系统内核

1、使用vmware sphere进行演示,虚拟磁盘添加的步骤:

选中虚机,鼠标右键打开编辑设置

选中硬盘,点击添加

  1. 打开电源,进入虚机控制台

登录虚机,使用fdisk -l 查看磁盘状态

输入fdisk /dev/sdb(新加的磁盘)

a)进入扇区编辑模式:fdisk -c /dev/sdb

b)输入m,查看fdisk命令操作,常用命令已备注:

c)添加主分区:

首先输入n,添加分区,然后输入p添加主分区,然后输入1,表示添加第一个分区,开始扇区采用默认,结束扇区可以通过制定主分区大小的方式指定,支持K/M/G的方式添加

快捷键清除输入的错误信息:Ctrl+U

d)添加扩展分区:

和添加主分区一样,只是分区类型需要选择e扩展分区

e)添加逻辑分区:

f)打印分区信息:检查一下分区信息

g)写入分区表并保存:

h)将分区表的信息同步到系统内核:

  1. 其他

创建交换分区

首先创建一个主分区,然后格式化为交换分区,开启交换分区之后才可以使用

删除分区

查看分区类型

常用的3种分区类型,swap(交换分区),linux,lvm,如果需要改变分区类型,需要指定分区类型id,swap交换分区是82,linux是83,lvm是8e

改变分区类型操作:

  • 六、Parted(GPT)介绍

传统分区方式MBR无法支持超过2TB的硬盘或单个分区超过2TB,大于2T使用GPT(分区表)分区概念。

Parted是一个磁盘分区管理工具,比fdisk更加灵活,功能更加丰富,支持GUID分区表,在IA64平台上管理磁盘时非常有用,它同时支持交互模式和非交互模式,它除了可以进行分区的添加、删除等常见操作外,还可以移动分区,制作文件系统,调整文件系统大小,复制文件系统。

交互式:

  1. 进入交互界面:parted /dev/sdb(需要进行分区的磁盘)

    2.查看常用命令:

  3.添加主分区

首先需要设置分区表类型为gpt

  4.添加swap交换分区

 5.添加逻辑分区

 6.删除分区

7.退出

退出时,修改会自动保存

非交互式:

非交互式和交互式是一样的,只不过把命令参数直接传入

  • 七、格式化创建文件系统

磁盘分区没有进行格式化之前,操作系统无法识别系统上磁盘分区格式,也就无法存取文件目录属性和权限等内容,把分区格式化成操作系统支持的某个文件系统后,在存放数据,系统就会根据这个文件系统的格式进行存取文件。文件系统是一种存储和组织计算机数据文件的机制或方法,它使得计算机文件系统内数据的访问和查找变得更加容易、简单。

文件系统的选型:

reiserfs大量小文件业务首选reiserfs(100K)

xfs有的门户的数据库MySQL等业务

ext4视频下载、流媒体、数据库、小文件业务

ext2没有日志,类似CDN网站加速服务

常规应用:

Centos5:默认选择ext3

Centos6:默认选择ext4

Centos7:默认选择xfs

查看当前挂载的文件系统:

查看支持的文件系统操作:

格式化xfs文件系统

格式化ext文件系统

其他

如果系统没有xfs文件系统的安装步骤:

  • 八、磁盘挂载

挂载点:

  1. 将文件系统与目录树结合的操作称为挂载
  2. 挂载点一定是目录,该目录为进入文件系统的入口

挂载操作:

将/testMonut作为/dev/sdb2分区的挂载点

取消挂载:

下面用/testMount取消挂载演示,用df -hT查看,挂载点已经取消

  • 常用磁盘操作命令

fdisk 磁盘分区工具

Partprobe 把分区表的修改变化通知内核

mkfs.ext4 (mkfs -t ext4)格式化 -bblock -linode

mkswap 格式化swap分区

swapon/swapoff 使用swap分区,例如:swapon /dev/sdb1

mount -ttype -o选项

umount 卸载 (-1F)强制卸载

df 查看磁盘信息 -i -h -T文件类型

dumpefs 查看ext文件系统信息

fsck(e2fsck) 磁盘检查

parted 分区工具

tune2fs 修改文件系统信息

megacli 查看硬件信息工具

ipmitools 查看硬件信息工具

resize2fs 调整文件系统大小(LVM,drbd)

测试工程师必备linux基础一(服务器磁盘篇)相关推荐

  1. Python工程师必备:基础能力提升50篇文章合集

    Python 是当今非常热门的语言之一,Python的学习者也越来越多. 在Python学习过程中,很多初学者不知道明确的学习路径,实际动手能力也存在着欠缺. 为了解决这个问题,CSDN正式推出C站软 ...

  2. SRE运维工程师笔记-Linux基础入门

    SRE运维工程师笔记-Linux基础入门 1. Linux基础 1.1 用户类型 1.2 终端terminal 1.2.1 终端类型 1.2.2 查看当前的终端设备 1.3 交互式接口 1.3.1 交 ...

  3. linux基础知识之磁盘管理及文件系统

    linux基础知识之磁盘管理及文件系统管理 磁盘管理及文件系统管理 一.磁盘硬件介绍 1. 接口类型 2. 硬盘种类 3. 磁盘命名 二.磁盘分区及文件系统介绍 1. 分区 1.1 什么是分区 1.2 ...

  4. Linux运维-服务器系统篇

    Linux运维-服务器系统篇 开篇导读: 本篇博文是此系列教程的第二课,在这一课中将大概的介绍一下服务器上的操作系统,了解一下它的基本概念和发展历程. 服务器系统的概念和作用 如何理解服务器操作系统? ...

  5. 前端linux基础,这一篇就够了

    前端linux基础,这一篇就够了 退出当前操作 清理命令窗口 关闭命令窗口 创建文件 创建文件夹 删除文件 删除文件夹 重命名文件 发起请求(curl) 切换工作目录 查看当前完整路径 查看当前目录下 ...

  6. 开源测试平台RunnerGo,测试工程师必备

    作为一名工作多年的测试工程师一直希望有一款可以颠覆目前测试工具的平台,相较于研发岗位有各种工具可以覆盖他们整个的工作流程,而测试工具比如:jmeter,它的功能更突出在性能测试方面,其他方面更依赖于各 ...

  7. Linux基础1之磁盘与分区

    Linux上面设备皆文件,目前需要知道的,比如U盘和SARA硬盘的在Linux上面的文件名,/dev/sd[a-p].与IDE接口不同的是,SATA/USB接口的磁盘没有一定的顺序,这里就根据Linu ...

  8. 测试工程师的面试基础题目

    前言 例如:测试工程师面试题目 1.软件的生命周期有哪些阶段? 需求阶段 分析和学习阶段,团队去查看这个需求是不是可测的 计划阶段 辨别出哪些活动和资源和测试的目标时匹配的,辨别并追踪这些测试的指标. ...

  9. 测试工程师必备武器之“军工六性”

    人们生活中的吃.穿.住.用.行都会涉及到质量.每年的3月15是国际消费者权益日,这些均说明质量是全球都在关注的问题.作为一名测试工程师,作为产品上线前最后一环质量把控的我们,又该如何保证产品质量呢? ...

最新文章

  1. 什么是SESSION?(一)
  2. 【量化投资】策略三(聚宽)
  3. 5个在线代码编辑器,供云计算爱好者
  4. Python 骚操作:如何给你爱的读者每天发早报?
  5. Win32ASM学习[11]:逻辑运算
  6. 【常见Web应用安全问题】---12、URL redirection
  7. Eplan教程——线束的使用
  8. C# XmlDocument.Save文件操作System.IO.IOException:The process cannot access the file because it is being
  9. 物联网共享单车有什么物联技术?
  10. 执行python manage.py migrate报错问题解决
  11. 2021chrome浏览器视频加速(网盘)
  12. MATLAB运用——多项式插值
  13. 线性回归模型-最小二乘法Ordinary Least Squares
  14. C++程序中如何执行cmd命令
  15. 读书笔记 如何高效学习
  16. 光耦w314的各引脚图_光电耦合器的管脚图及工作原理
  17. 去信任外包虚荣地址生成
  18. Typora如何打出小黑点,空心圆,小方框
  19. 气体灭火系统的应用与选型 (装载)
  20. 如何快速制作专属的电子名片?这简单的五步操作让你快速拥有

热门文章

  1. 戴尔服务器怎么连无线,4台笔记本怎么通过交换机连接上戴尔服务器
  2. centos mysql双机备份_[原创]CentOS下Mysql双机互为备份
  3. 法国宣布对欧盟以外国家关闭边界-我爱无人机网
  4. 在Python中FITS格式文件数据的读取 (转载)
  5. python绘制笛卡尔心形曲线_走近解析几何学之父笛卡尔:笛卡尔坐标系与浪漫的心形曲线...
  6. Android RIL简介
  7. 变形金刚5的口碑崩盘,教会了我什么
  8. 《Java程序员全攻略:从小工到专家》连载九:散兵游勇还是团队作战
  9. php中无pear解决方法
  10. pytorch rnn文本生成 生成小说 AI写小说1