博文目录

简介

伴随着科技的飞速发展,越来越多的企业对于服务器的稳定要求越来越高,越来越多的企业开始采用linux系统来部署自己的服务,以求高效的稳定性,当然任何操作系统都需要一个最基本的基础,那就是硬盘,及硬盘分区,今天来给大家推荐几款CentOS Linux下的分区工具及如何查看分区环境,也会给大家来带一些硬盘的基本知识

一、硬盘的接口类型

分区肯定是对硬盘进行分区,那么先来聊一聊硬盘的接口类型,硬盘就现在来分,分为两类,并行接口和串行接口,现在服务器及PC机上普遍的都是串行接口啦。

并行接口,分为IDE与SCSI两种接口,并行接口的缺点在于电信号在传输的过程中会产生干扰。

接口速率:

IDE:133MB/s

SCIS:640MB/s


串行接口,分为STAT,SAS,USB,三种接口,我们的服务器和PC上部分上也是采用的SATA接口

串口:

SATA:6Gbps

SAS:6Gbps

USB:480MB/s


现在的磁盘分区模式分为两种,MBR、GPT两种。

MBR模式

MBR: Master Boot Record,1982年,使用32位表示扇区数,分区不超过2T

MBR模式可以分区的数量是:4个主分区;3主分区+1扩展(N个逻辑分区)

当然硬盘在分区的时候是需要一部分空间来存储这些分区信息的,这一部分空间就在0磁道0扇区:512bytes。

开始446bytes存放boot loader

中间64bytes存放分区表,每16bytes: 标识一个分区

最后2bytes:存放55AA来表示硬盘模式类型

GPT模式

GPT:GUID(Globals Unique Identifiers)partition table 支持128个分区,使用64位,支持8Z(512Byte/block )64Z (4096Byte/block)

使用128位UUID(Universally Unique Identifier) 表示磁盘和分区GPT分区表自动备份在头和尾两份,并有CRC校验位

UEFI (统一扩展固件接口)硬件支持GPT,使操作系统启动


二、让我们来一起见识见识Linux下3款分区工具的能力吧。

老当益壮fdisk。

fdisk在linux是一款非常老的分区工具了,工具虽然老,但是简单便利是fdisk的优点,当然gdisk也继承了这一优点,他们的功能非常相似,不过fdisk工具主要用来对MBR模式的硬盘进行分区,gdisk工具用来对GPT模式的硬盘进行分区,这里就讲一款fdisk工具。fdisk不能对2T以上的磁盘进行分区,是因为MBR模式不支持2T以上的分区格式。

fdisk、gdisk工具

fdisk /dev/sdb

fdisk -l [-u] [device...] 查看硬盘及分区的信息

常用的子命令:

m 帮助列表

p 分区列表

l 查看分区类型

t 更改分区类型

n 创建新分区

d 删除分区

w 保存并退出

fdisk分区后,操作只是在内存中并未真正的对硬盘分区,如果真的需要分区w保存即可


q 不保存并退出

当然如果你后悔了,输入q则不会保存之前的操作


选项介绍完,我来给大家做一个实验。让大家了解一下这款工具的使用方式。


[root@TianRandai~]#fdisk/dev/sdb#对/dev/sdb进行操作
Welcometofdisk(util-linux2.23.2).

Changeswillremaininmemoryonly,untilyoudecidetowritethem.
Becarefulbeforeusingthewritecommand.


Command(mforhelp):n#建立一个分区
Partitiontype:
pprimary(0primary,0extended,4free)
eextended
Select(defaultp):p#分区类型为主分区,p是主分区,e是扩展分区
Partitionnumber(1-4,default1):1#指定分区号
Firstsector(2048-41943039,default2048):
Usingdefaultvalue2048
Lastsector,+sectorsor+size{K,M,G}(2048-41943039,default41943039):+2G
Partition1oftypeLinuxandofsize2Gibisset

Command(mforhelp):t#指定分区标记类型
Selectedpartition1
Hexcode(typeLtolistallcodes):82
Changedtypeofpartition'Linux'to'Linuxswap/Solaris'

Command(mforhelp):w#保存操作
Thepartitiontablehasbeenaltered!

Callingioctl()tore-readpartitiontable.
Syncingdisks.



强大的分区工具parted

parted

parted工具的分区是即时操作的,所以分区的时候要小心慎用,因为可能一个不小心就把再用的硬盘给分区了,所以使用时,一定要谨慎谨慎再谨慎。

用法:parted [选项]... [设备[命令[参数]...]...]

parted /dev/sdb mklabel gpt|msdos 为磁盘指定模式

parted /dev/sdb print 显示磁盘信息

parted /dev/sdb mkpart primary/extended/logical0 200 (默认M)创建分区类型及大小

parted /dev/sdb rm 1 删除分区

parted -l 显示所有磁盘的信息


选项介绍完,我来给大家做一个实验。让大家了解一下这款工具的使用方式。


[root@TianRandai~]#parted/dev/sdbmklabelgpt#指定磁盘模式为GPT
Warning:Theexistingdisklabelon/dev/sdbwillbedestroyedandalldataonthisdisk
willbelost.Doyouwanttocontinue?
Yes/No?yes
information:Youmayneedtoupdate/etc/fstab.

[root@TianRandai~]#parted/dev/sdbmkpartprimary02G#创建分区,分区类型为主分区,大小为2G
Warning:Theresultingpartitionisnotproperlyalignedforbestperformance.
Ignore/Cancel?i
information:Youmayneedtoupdate/etc/fstab.

[root@TianRandai~]#parted/dev/sdbprint#查看磁盘信息
Model:VMware,VMwareVirtualS(scsi)
disk/dev/sdb:21.5GB
Sectorsize(logical/physical):512B/512B
PartitionTable:gpt
diskFlags:

NumberStartEndSizefilesystemNameFlags
117.4kB2000MB2000MBprimary

[root@TianRandai~]#parted/dev/sdbrm1#删除分区1
information:Youmayneedtoupdate/etc/fstab.

[root@TianRandai~]#parted/dev/sdbprint#再次查看磁盘信息
Model:VMware,VMwareVirtualS(scsi)
disk/dev/sdb:21.5GB
Sectorsize(logical/physical):512B/512B
PartitionTable:gpt
diskFlags:
NumberStartEndSizefilesystemNameFlags


介绍完了分区就要介绍格式化了

格式化的命令可以使用

mkfs.文件系统类型分区

#mkfs.ext4 /dev/sdb1

格式化后就可以使用挂载了


[root@TianRandai~]#mkfs#文件系统的各个类型
mkfsmkfs.cramfsmkfs.ext3mkfs.fatmkfs.msdosmkfs.xfs
mkfs.btrfsmkfs.ext2mkfs.ext4mkfs.minixmkfs.vfat
[root@TianRandai~]#mkfs.ext4/dev/sdb1#将/dev/sdb1格式化为ext4
[root@TianRandai~]#mkdir/mnt/disk1#在/mnt/下建一个disk1目录
[root@TianRandai~]#mount/dev/sdb1/mnt/disk1#将格式化号的分区挂载到/mnt/disk1撒花姑娘
[root@TianRandai~]#df-h#查看挂载及使用情况
FilesystemSizeUsedAvailUse%Mountedon
/dev/sda210G4.5G5.5G45%/
devtmpfs898M0898M0%/dev
tmpfs912M88K912M1%/dev/shm
tmpfs912M9.0M903M1%/run
tmpfs912M0912M0%/sys/fs/cgroup
/dev/sda11014M169M846M17%/boot
tmpfs183M20K183M1%/run/user/0
/dev/sdb11.9G5.7M1.7G1%/mnt/disk1


mkswap 格式化swap类型的分区

格式化后需要swapon来启用格式化后的分区

开机自动挂载需要讲这些配置写到/etc/fstab中

具体的挂载的方法会在后面具体讲解。


[root@TianRandai~]#free-h#先看一下swap的大小
totalusedfreesharedbuff/cacheavailable
Mem:1.8G483M429M10M911M1.1G
Swap:2.0G0B2.0G
[root@TianRandai~]#mkswap/dev/sdb1#格式化/dev/sdb1分区
mkswap:/dev/sdb1:warning:wipingoldext4signature.
Settingupswapspaceversion1,size=1953104KiB
nolabel,UUID=5d9a150e-c247-4c7f-a4be-273a72bd3b5a
[root@TianRandai~]#swapon/dev/sdb1#启用swap分区
[root@TianRandai~]#free-h#再次查看swap大小
totalusedfreesharedbuff/cacheavailable
Mem:1.8G484M427M10M911M1.1G
Swap:3.9G0B3.9G


如果有下期,将会给大家带来mount挂载,软Raid技术,和逻辑卷的配置方法。

CentOS Linux下的3款分区工具的更多相关文章

  1. iOS推送通知适用于Dev而不是Enterprise Distribution

    本网站上没有其他问题,我已经能够找到实际上提出了Dev将工作的原因,但企业分布不会.为什么归档总是使aps环境生产?

  2. ios – testflight库和Xcode 5没有变化现在说“ld:找不到-lTestFlight的库”

    我已经创建了几个月的应用程序,突然Xcode5不想构建它.它只是抱怨以下错误.如果我理解它可以,它会抱怨testflight,但我几周没有改变它.它完美地编译了它.我不得不说我已经尝试将AdobeADMS跟踪库添加到项目中.然后,出现链接器错误.任何提示?

  3. 如何在ios swift项目中为dev n prod使用两个不同的GoogleService-info.plist文件?

    我需要使用两个不同的GoogleService-info.plist来处理dev和prod构建,目前我只是通过在编辑方案中更改“构建配置”来分离dev和prod,但现在我需要有两个不同的.plist文件dev和prod用于处理谷歌分析,pushwoosh等,解决方法对于这种情况,您需要在Dev和Prod的项目中使用带有diffbundleid的不同Targets.之后,您可以链接GoogleSer

  4. cinder swift的区别

    [原]OpenStack入门以及一些资料之2014-4-29阅读1144评论0注:本文内容均来自网络,我只是在此做了一些摘抄和整理的工作,来源均有注明。它拥有自己的文件系统,通过网络文件系统NFS或通用文件系统CIFS对外提供文件访问服务。Raid,不同的raid等级在增加数据可靠性以及增加存储器(群)读写性能间取得平衡。卷组描述区域,和磁盘将包含分区信息的元数据保存在位于分区的起始位置的分区表中一样,逻辑卷以及卷组相关的元数据也是保存在位于物理卷的VGDA中。

  5. Project Perfect让Swift在服务器端跑起来-在Linux上创建你的Perfect项目(三)

    前两篇,分别讲述了入门和在Linux下部署,现在得说说如何在Linux下开发了。在Linux下开发,相对比在Mac下开发更灵活。我们先来看看构建基于Perfect的网站服务的编译方式如图通过引用基础库PerfectLib和数据链接,中间件模块创建你的网页文件,并用makefile打包生成你的网站动态库。所以如果你只是在Linux下构建项目,你只需要先创建好你的Handlers.swift即可。根据上面的方式我们开始在Linux下创建我们的Perfect项目。这里我在Perfect文件夹创建了一个Demo文

  6. 使用 Swift 语言编写 Android 应用入门

    Swift标准库可以编译安卓armv7的内核,这使得可以在安卓移动设备上执行Swift语句代码。做梦,虽然Swift编译器可以胜任在安卓设备上编译Swift代码并运行。这需要的不仅仅是用Swift标准库编写一个APP,更多的是你需要一些框架来搭建你的应用用户界面,以上这些Swift标准库不能提供。简单来说,构建在安卓设备上使用的Swiftstdlib需要libiconv和libicu。通过命令行执行以下命令:gitclonegit@github.com:SwiftAndroid/libiconv-libi

  7. Project Perfect让Swift在服务器端跑起来-Hi Linux(二)

    开篇写了一个简单的入门,今天想说说怎么让Perfect项目在Linux上运行。Swift开源后,苹果让Swift不仅在OSX/iOS上跑,更让Swift在Linux/Windows上跑。作为服务端的Perfect框架+RemObjectSilver,让Swift成为了一个全栈语言。Perfect由于是服务端的,让Perfect在Linux上跑是必然的事情。从第一篇文章中我们可以了解到Perfect由PerfectLib和PerfectServer组成。

  8. Project Perfect让Swift在服务器端跑起来-在Linux上创建你的Perfect项

    前两篇,分别讲述了入门和在Linux下部署,现在得说说如何在Linux下开发了。在Linux下开发,相对比在Mac下开发更灵活。我们先来看看构建基于Perfect的网站服务的编译方式如图通过引用基础库PerfectLib和数据链接,中间件模块创建你的网页文件,并用makefile打包生成你的网站动态库。所以如果你只是在Linux下构建项目,你只需要先创建好你的Handlers.Swift即可。根据上面的方式我们开始在Linux下创建我们的Perfect项目。

  9. openstack安装liberty--安装对象存储服务swift

    通常使用CACHE技術提高性能Accountservers賬戶服務,管理對象存儲中的賬戶定義。Containerservers容器服務,在對象存儲中管理容器或文件夾映……Objectservers對象服務,在存儲節點管理實際的對象,比如文件。Wsgimiddleware處理認證,通常使用OPENSTACKIdentityswiftclient為用戶提供命令行接口使用RESTAPIswift-init初始化和構建RING文件腳本swift-recon一個命令行工具,用於檢索群集的各種度量和測試信息。

  10. Swift for OS X编译Linux?

    我对其他平台上Swift的构建过程感到困惑.Swift是否允许我在OSX上构建Linux项目,或者我是否需要在Linux上专门使用Swift来构建我计划在那里使用的任何东西?我查看了documentation,但这个主题并不是很清楚……

随机推荐

  1. 在airgapped(离线)CentOS 6系统上安装yum软件包

    我有一个CentOS6系统,出于安全考虑,它已经被空气泄漏.它可能从未连接到互联网,如果有,它很长时间没有更新.我想将所有.rpm软件包放在一个驱动器上,这样它们就可以脱机安装而无需查询互联网.但是,我在测试VM上遇到的问题是,即使指定了本地路径,yum仍然会挂起并尝试从在线存储库进行更新.另外,有没有办法使用yum-utils/yumdownloader轻松获取该包的所有依赖项和所有依赖项?目前

  2. centos – 命名在日志旋转后停止记录到rsyslog

    CentOS6.2,绑定9.7.3,rsyslog4.6.2我最近设置了一个服务器,我注意到在日志轮换后,named已停止记录到/var/log/messages.我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,并且named不会直接写入日志文件.这更奇怪,因为我在更新区域文件后命名了HUPed,但它仍然没有记录.在我停止并重新启动命名后,记录恢复.这里发生了什么?

  3. centos – 显示错误的磁盘大小

    对于其中一个磁盘,Df-h在我的服务器上显示错误的空白区域:Cpanel表明它只有34GB免费,但还有更多.几分钟前,我删除了超过80GB的日志文件.所以,我确信它完全错了.fdisk-l/dev/sda2也显示错误:如果没有格式化,我该怎么做才能解决这个问题?并且打开文件描述符就是它需要使用才能做到这一点.所以…使用“lsof”并查找已删除的文件.重新启动写入日志文件的服务,你很可能会看到空间可用.

  4. 如何在centos 6.9上安装docker-ce 17?

    我目前正在尝试在centOS6.9服务器上安装docker-ce17,但是,当运行yuminstalldocker-ce时,我收到以下错误:如果我用跳过的标志运行它我仍然得到相同的消息,有没有人知道这方面的方法?

  5. centos – 闲置工作站的异常负载平均值

    我有一个新的工作站,具有不寻常的高负载平均值.机器规格是:>至强cpu>256GB的RAM>4x512GBSSD连接到LSI2108RAID控制器我从livecd安装了CentOS6.564位,配置了分区,网络,用户/组,并安装了一些软件,如开发工具和MATLAB.在启动几分钟后,工作站负载平均值的值介于0.5到0.9之间.但它没有做任何事情.因此我无法理解为什么负载平均值如此之高.你能帮我诊断一下这个问题吗?

  6. centos – Cryptsetup luks – 检查内核是否支持aes-xts-plain64密码

    我在CentOS5上使用cryptsetupluks加密加密了一堆硬盘.一切都很好,直到我将系统升级到CentOS6.现在我再也无法安装磁盘了.使用我的关键短语装载:我收到此错误:在/var/log/messages中:有关如何装载的任何想法?找到解决方案问题是驱动器使用大约512个字符长的交互式关键短语加密.出于某种原因,CentOS6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用

  7. centos – 大量ssh登录尝试

    22个我今天登录CentOS盒找到以下内容这是过去3天内的11次登录尝试.WTF?请注意,这是我从我的提供商处获得的全新IP,该盒子是全新的.我还没有发布任何关于此框的内容.为什么我会进行如此大量的登录尝试?是某种IP/端口扫描?基本上有4名匪徒,其中2名来自中国,1名来自香港,1名来自Verizon.这只发生在SSH上.HTTP上没有问题.我应该将罪魁祸首子网路由吗?你们有什么建议?

  8. centos – kswap使用100%的CPU,即使有100GB的RAM也可用

    >Linux内核是否应该足够智能,只需从内存中清除旧缓存页而不是启动kswap?

  9. centos – Azure将VM从A2 / 3调整为DS2 v2

    我正在尝试调整前一段时间创建的几个AzureVM,从基本的A3和标准A3到标准的DS2v2.我似乎没有能力调整到这个大小的VM.必须从头开始重建服务器会有点痛苦.如果它有所不同我在VM中运行CentOS,每个都有一个带有应用程序和操作系统的磁盘.任何人都可以告诉我是否可以在不删除磁盘的情况下删除VM,创建新VM然后将磁盘附加到新VM?

  10. centos – 广泛使用RAM时服务器计算速度减慢

    我在非常具体的情况下遇到服务器速度下降的问题.事实是:>1)我使用计算应用WRF>2)我使用双XeonE5-2620v3和128GBRAM(NUMA架构–可能与问题有关!

返回
顶部