精华内容
下载资源
问答
  • 进入虚机的“仪表盘”页面,页面下方显示接的数据磁盘所在的位置。可以将该VHD的URL拷贝出来。如下图: 2. 将VHD文件拷贝一份。 用下面的Power Shell命令。(需了解Azure PowerShell, 请访问: ...


    1. 定位原有的数据磁盘所对应的VHD文件

    进入虚机的“仪表盘”页面,在页面下方显示挂接的数据磁盘所在的位置。可以将该VHD的URL拷贝出来。如下图:


    2. 将VHD文件拷贝一份。

    用下面的Power Shell命令。(需了解Azure PowerShell, 请访问: http://msdn.microsoft.com/en-us/library/windowsazure/jj554332.aspx )


    Start-AzureStorageBlobCopy (命令说明: http://msdn.microsoft.com/en-us/library/dn495267.aspx). 请参考下面的例子:

    Start-AzureStorageBlobCopy -AbsoluteUri http://shirleydemo.blob.core.chinacloudapi.cn/vhds/centos65demo-centos65demo-2014-03-06.vhd -DestBlob centos65disk.vhd -DestContainer vhds


    注意

    a. 执行该命令前,我们需要确认要操作的“存储帐号”已经被定义为当前订阅下的CurrentStorageAccount。可执行下面的命令:

    C:\WINDOWS\System32> Set-AzureSubscription -SubscriptionName "Beta Subscription" -CurrentStorageAccountName "shirleydemo"

    b. 在执行上面的拷贝操作时,一定要将新的Blob命名为.vhd结尾的文件。例如:centos65disk.vhd。如果后缀名不是vhd, 后面将会出错。


    下面是截图:


    3. 将新生成的VHD文件制作成磁盘。

    点击“虚拟机”,在屏幕正上方点击“磁盘”, 然后点击屏幕下方的创建。


    4. 在弹出的对话框中,选择复制出来的VHD文件。


    5. 将这块数据磁盘挂接到目标虚机上。


    注:在某种情况下,执行PowerShell Start-AzureBlobStorageCopy,会遇到下面的错误信息:

    未能加载文件或程序集“Microsoft.WindowsAzure.Storage.DataMovement, Version=2.2.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或它的某一个依赖项。系统找不到指定的文件。
    所在位置 行:1 字符: 1
    + Start-AzureStorageBlobCopy -AbsoluteUri http://xxxx.blob.core.chinacloudapi ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Start-AzureStorageBlobCopy], FileNotFoundException
    + FullyQualifiedErrorId : System.IO.FileNotFoundException,Microsoft.WindowsAzure.Commands.Storage.Blob.Cmdlet.StartAzureStorageBlobCopy
    

    这时,您需要用下面的方法解决问题:

    1.卸载现有Windows Azure PowerShel

    2. 清空WebPI临时目录: …\AppData\Local\Microsoft\Web Platform Installer

    3. 重新安装Windows Azure PowerShell(WindowsAzurePowerShell.3f.3f.3fnew.exe)






    
    
    展开全文
  • [Azure]Linux虚拟机使用rc.local启动脚本进行磁盘挂在

    千次阅读 多人点赞 2017-01-08 22:42:29
    Azure Linux虚拟机如果启动过程中出现磁盘检测失败,会导致虚拟机...这种方法相对比较耗时,没有方法能够保证在数据磁盘出现问题时,不会影响到系统的启动呢?我们可以rc.local中写入mount语句,由于rc.local是

    Azure Linux虚拟机如果在启动过程中出现磁盘检测失败,会导致虚拟机无法成功启动,这种情况下,由于没有控制台的登录方式,往往需要通过将系统磁盘挂在到其他虚拟机上进行fstab文件的修改或者磁盘修复,修复完成后再使用修复后的磁盘重建虚拟机。这种方法相对比较耗时,有没有方法能够保证在数据磁盘出现问题时,不会影响到系统的启动呢?我们可以在rc.local中写入mount语句,由于rc.local是在启动后执行的,所以即使mount语句报错,也完全不影响虚拟机的启动。

    以下是一个测试小实验:

    1. 首先,在虚拟机上挂了4块数据盘做了raid0,挂载到/mnt/md2下:

      raid0分区的UUID53128084-c839-4294-a8e2-2ae089819280

       

    2. 接着,在/etc/rc.local中添加一行自动挂载的命令mount -U 53128084-c839-4294-a8e2-2ae089819280/mnt/md2

       

    3. reboot虚拟机后,可以看到raid0分区正常挂载:

       

    4. Portal中将4块磁盘中的任意一块分离下来,破坏了raid0,再次重启虚拟机,发现机器可以正常启动,raid0未挂载:

    可以看到,rd.local中的脚本进行挂载,即使挂载失败,也不会影响系统的正常启动和登陆。


    
    展开全文
  • 如果你要是对linux分区和挂载不理解,建议看下: ...eg:假如文件被不小心删除...1,先卸载磁盘,防止数据被新添加数据替换 2,下载extundelete恢复工具 https://pan.baidu.com/s/1ocBNA5KTgmVEeFa30-fkSQ 3,如果用ex...

    如果你要是对linux分区和挂载不理解,建议看下:
    https://blog.csdn.net/qq_41276657/article/details/105168312

    eg:假如文件被不小心删除操作:
    1,先卸载磁盘,防止数据被新添加数据替换
    2,下载extundelete恢复工具 https://pan.baidu.com/s/1ocBNA5KTgmVEeFa30-fkSQ
    3,如果用extundelete工具要有运行插件,可以用yum下载 yum install e2fsprogs-devel e2fsprogs e2fsprogs-libs
    4,extundelete里有个configure 运行它发现会报错,你可以试试 :./configure 运行它也需要2个运行环境: yum -y install gcc yum -y install gcc-c++
    5,再试试: ./configure 不会出错
    6,用make去编译(会有个警告,不用理它,不算错)
    7,用make install安装extundelete
    8,用which extundelete查看安装结果
    9,安装好后开始恢复数据,注意恢复数据可不是在被删的磁盘中恢复,新建一个目录,在这个目录恢复,不然就会覆盖原磁盘
    10,进入被删除数据的目录
    11,根据名字恢复数据:文件(可以写东西,如.txt文件)和目录恢复还不一样,可以试试用恢复文件的方法恢复目录,答案是不成功。
    extundelete /dev/sdb1 --restore-file a.txt (恢复文件)
    extundelete /dev/sdb1 --restore-inode 12(还有一种方法根据inode号恢复 ,但是恢复的数据名字会变,但是文件和目录都能恢复)
    extundelete /dev/sdb1 --restore-directory a(恢复目录)
    extundelete /dev/sdb1 --restore-all(恢复所有文件,但是空的目录和空的文件不会恢复,因为没有数据,恢复没意义,默认不恢复,
    如果想要的话可以跳到第10步骤,里面有所有被删除的文件,包括空文件和目录,手动建,另外单个恢复的话会很麻烦,看12步骤,恢复的数据会有RECOVERED_FILES目录
    ,里面才是恢复的数据,当你恢复第二个数据时,会冲突报错,你得把这个目录删掉,所以还要建个目录复制进去,再删掉)
    12,ls -l 里面有:RECOVERED_FILES,cd进去就是恢复的数据(

    1,umount /tmp/sdb 卸载磁盘
    2,下载extundelete恢复工具并解压 tar -jxvf extundelete-0.2.4.tar.bz2
    3,yum install e2fsprogs-devel e2fsprogs e2fsprogs-libs
    4, yum -y install gcc yum -y install gcc-c++
    在这里插入图片描述
    5, ./configure
    6,make
    7,make install
    在这里插入图片描述
    8,which extundelete
    注意(从5-8是在解压后的extundelete文件中操作 cd extundelete-0.2.4.tar.bz2,别忘了)
    9,mkdir test(我放在/root根目录了)
    10,extundelete /dev/sdb1 --inode 2(我的磁盘是sdb1)
    在这里插入图片描述
    注意 (进入test: cd test)
    11,extundelete /dev/sdb --restore-file a.txt
    12,ls -l

    以上是根据视频和查资料做的文档,有些延申的知识没写
    视频:https://www.bilibili.com/video/BV1GW411J7MD?p=1
    资料:https://blog.csdn.net/weixin_43622131/article/details/98511279

    展开全文
  •   假如你个大木桶要装东西,如果木桶没有划分层,所有东西全部放入里面,虽然可以装,但是对大木桶的使用就合不合理,造成杂乱无章,寻找东西时候也耗时,甚至还有不同物品之间不能存放一起而导致危险,那更好...

    1. 概 念

    在这里插入图片描述

    图1.1 分区的概念

      假如你有个大木桶要装东西,如果木桶没有划分层,所有东西全部放入里面,虽然可以装,但是对大木桶的使用就合不合理,造成杂乱无章,寻找东西时候也耗时,甚至还有不同物品之间不能存放在一起而导致危险,那更好的做法自然是给大木桶画一下不同的区域,分成不同的层,每个层放不同的东西,即安全,寻找起来也方便;

      计算机的磁盘(也叫硬盘)也是如此,为了区分存储内容的不同,以及快速定位寻址文件,也需要采取分区的形式;

    2. 为啥要分区

      不论磁盘的分区还是数据库表的分区以及其它的分区,核心思想和分区的目的基本都一致,可以概括以下两点原因;

    • 数据的安全性隔离:因为每个分区是独立分开的,所以当你需要重现格式化或数据重新填充分区A时,分区B并不会受影响,这就是为啥你Windows重装系统的话,一般只是C盘重新载入新系统数据,而其他的D,E,F盘并不会受影响;

    • 系统的效率考虑:加快数据寻址的效率,当你只有一块分区时,找数据文件a你得重头找到尾部,但是当你分区了,操作系统会记录文件的绝对路径,你就可以直接从某个分区下去找,大大提升了速度和效率;

    3. 磁盘的结构

    在这里插入图片描述

    图3.1 磁盘的整个组成

      如图3.1,磁盘的主要组成有:主轴(含承轴及马达),磁盘盘(可能有多个盘),磁头,磁头臂等; 主轴(含承轴及马达)负责让磁盘盘转起来,磁头负责读取数据,磁头臂负责将磁头接触到磁盘盘,当不读取数据时负责将磁头停在磁头停泊区;

      磁盘盘结构比较特殊,拿其中一块出来讲解,如图3.2;磁盘盘主要有:磁道,簇,扇面,扇区组成;一般的磁盘设计是磁头沿着磁道由外圈顺时针一直读取到内圈;将每个同心圆切割成一个个小小块,称为扇区,是磁盘最小的存储单位!,同心圆的扇区一起组成扇面,而第一个扇面又显得重要些,它记录了整个磁盘的重要信息;
    在这里插入图片描述

    3.2 磁盘盘组成示意图
      刚刚说到,一般的磁盘不止一块磁盘盘,往往有多个,结构如图3.3;为了加快读写速度,也就会有多个磁头(读写头),磁头臂;同时多个磁盘盘的同一个磁道称为磁柱;

    在这里插入图片描述

    3.3 多块磁盘盘组成示意图

    4. 磁盘的分类

    4.1 IDE硬盘

      目前(20210516)基本已经淘汰,做个大概了解,IDE即Integrated Drive Electronics,它的本意是指把控制器与盘体集成在一起的硬盘驱动器,IDE是表示硬盘的传输接口。我们常说的IDE接口,也叫ATA(Advanced Technology Attachment)、PATA接口,现在PC机使用的硬盘大多数都是IDE兼容的,只需用一根电缆将它们与主板或接口卡连起来就可以了。
    在这里插入图片描述

    图4.1 IDE硬盘

    4.2 SCSI硬盘

      SCSI 硬盘即采用 SCSI 接口的硬盘。它由于性能好、稳定性高,因此在服务器上得到广泛应用。同时其价格也不菲,正因它的价格昂贵,所以在普通PC上很少见到它的踪迹。SCSI 硬盘使用 50 针接口;
    在这里插入图片描述

    图4.2 SCSI硬盘

    4.3 SATA硬盘

      SATA(Serial ATA)口的硬盘又叫串口硬盘,Serial ATA 采用串行连接方式,串行 ATA 总线使用嵌入式时钟信号,具备了更强的纠错能力,与以往相比其最大的区别在于能对传输指令(不仅仅是数据)进行检查,如果发现错误会自动矫正,这在很大程度上提高了数据传输的可靠性。串行接口还具有结构简单、支持热插拔的优点
    在这里插入图片描述

    图4.3 SATA硬盘

    4.4 固态硬盘

      固态硬盘(Solid State Disk),一般称之为 SSD 硬盘,固态硬盘是用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元(FLASH芯片、DRAM芯片)组成。其主要特点是没有传统硬盘的机械结构,读写速度非常快;其实,严格上来说固态硬盘不能算磁盘,因为他靠的存储技术是内存和闪存,而且并没有传统磁盘的组成结构,但是由于大家都叫习惯了,就采用了统一的命名;

    在这里插入图片描述

    图4.4 固态硬盘

    5. 磁盘分区命名规则

      由于磁盘驱动的不同,磁盘可以分为IDE磁盘和SCSI硬盘,IDE硬盘基本已过时(对Linux服务器而言),而之前谈到的SATA、USB、SAS等硬盘的接口都是SCSI硬盘,所以这些都统称为SCSI硬盘,是目前Linux服务器的主流,在 Linux 系统中磁盘设备文件的命名规则为:
       主设备号 + 次设备号 + 磁盘分区号
      而Linux万物皆文件的个性,硬盘自然是映射再/dev/目录下,IDE硬盘/dev/hdx~,SCSI硬盘/dev/sdx~;

    • IDE硬盘 hdx~hd表明为设备类型,这里指IDE硬盘,x为盘号,值可以为a(基本盘),b(基本从属盘),c(辅助主盘),d(辅助从属盘);~代表分区,前四个分区1-4表示,他们是主分区或者扩展分区,从5开始就是逻辑分区;例如:第一块盘hda,第二块盘hdb…第一块盘的第一个分区hda1,第二个分区hda2…
    • SCSI硬盘 sdx~sd表明为设备类型,这里指SCSI硬盘,x为盘号,值可以为a(基本盘),b(基本从属盘),c(辅助主盘),d(辅助从属盘);~代表分区,前四个分区1-4表示,他们是主分区或者扩展分区,从5开始就是逻辑分区;例如:第一块盘sda,第二块盘sdb… 第一块盘的第一个分区sda1,第二个分区sda2…

      考虑到常用性,以下内容就以SCSI硬盘为主来讲;

    刚刚讲到的x,那系统是怎么识别sda,sdb,sdc即磁盘1,磁盘2,磁盘3的呢?如在你的PC上,有两个SATA磁盘个一个USB磁盘,而这两个SATA磁盘分别放在SATA1和SATA5插槽上,USB磁盘则在USB接口上,那这三块磁盘的顺序是什么呢?
    其实,磁盘的顺序是靠侦测到的顺序来标识的;

    1. SATA1插槽上的为:/dev/sda
    2. SATA2插槽上的为:/dev/sdb
    3. USB(开机完成才能被系统捕捉到):/dev/sdc

    6. 磁盘分区类型及原理

    6.1 MBR(Master Boot Record)分区格式

      早期磁盘第一个扇区(521bytes)里面包含重要的信息MBR(Master Boot Record),其中446 bytes,安装开机管理程序的地方;剩下的64bytes记录硬盘分区的数据,即分区表,大概示意图如图6.1;
    在这里插入图片描述

    图6.1 MBR分区的示意图

      以下的四个分区我们并不能区分是主分区还是扩展分区,两种都有可能;

    • P1:/dev/sda1
    • P2:/dev/sda2
    • P3:/dev/sda3
    • P4:/dev/sda4

      既然第一个扇区的分区表只能记录四个分区的数据,那自然就想到用额外的扇区来 记录分区信息,这就是扩展分区的由来,如图6.2,分区情况应该为;
    在这里插入图片描述

    图6.2 MBR分区扩展分区示意图

      以上的分区情况为如下,为啥缺少了/dev/sda3/dev/sda4呢,原因就是前面四个号都是预留给主分区和逻辑分区的;

    • P1:/dev/sda1 (主分区)
    • P2:/dev/sda2(扩展分区)
    • P3:/dev/sda5(逻辑分区)
    • P4:/dev/sda6(逻辑分区)
    • P5:/dev/sda7(逻辑分区)
    • P6:/dev/sda8(逻辑分区)
    • P7:/dev/sda9(逻辑分区)

      主分区、扩展分区、逻辑分区的总结内容如下;

    1. 主分区( primary)P

      1)系统中必须要存在的分区,系统盘选择主分区安装

      2)数字编号只能是1-4.sda1、sda2、sda3、sda4

      3)主分区最多四个,最少一个。

      4)能被单独格式化

    1. 扩展分区( extend)E

      1)相当于一个独立的小磁盘。独立的分区表,不能独立存在。

      2)有独立的分区表。

      3)不能独立存在,即不能直接存放数据

      4)必须在扩展分区上建立逻辑分区才能存放数据

      5)占用主分区的编号(主分区+扩展分区)之和最多4个

      6)不能被格式化

    1. 逻辑分区(1ogic)L

      1)数字编号只能是从5开始

      2)存放于扩展分区之上

      3)存放任意普通数据

      4)能被单独格式化

      5)两个独立的逻辑分区可以支持合并成一个新的逻辑分区

    1. 磁盘分区方式

      1)1~4个主分区

      2)扩展分区至多能有一个,且 2 ≤ 扩展分区+主分区≤ 4

    学习以上内容后,聊聊分区策略,举例如下;
    博主有一块硬盘,如果我想要得到6个分区,用MBR分区格式该怎么分配;
    首先主分区,扩展分区只能有4个,不够呀,那就需要用到扩展分区,可以分配为,P+P+P+E(E内包含3个逻辑分区L)即,P+P+P+E(L+L+L);当然也可以P+E(L+L+L+L+L) ,可以根据个人想法来实现即可

       MBR分区的原理清晰后,其不足的地方也暴露的无疑,因为分区表的容量16bytes有限,始终存在以下不足;

    • 操作系统无法抓取2.2T以上的磁盘容量,个人PC可能目前来说够,但是服务器已经无法满足了;
    • MBR仅有一块分区表,无法实现高可用,一旦被损坏,很难再救援恢复;
    • MBR内存放的开机管理程序也只有446bytes,也是无法容纳更多的开机程序代码的;

       你的不努力或者局限,自然就有新星的出现,于是GPT就出现了;

    6.2 GPT(GUID Partition Table)分区格式

       GPT将磁盘划分为一块块的逻辑区块地址(Logical Block Address,简称LBA) 来处理,每个LBA预设计为512bytes,即一个扇区的大小;同时改进MBR之用一块扇区来标识分区表的弊端,GPT使用了前后各34个LBA来标识分区表信息(最后的34各区可以理解为备份,达到高可用),如图6.3;
    LBA的标识是从0开始的,LBA0-34共35块,这里分别阐述下其含义;

    • LBA0 :包含两部分,一部分是类似MBR的446bytes,存储开机管理程序,第二部分则是存储一个特殊的标记,标识该磁盘为GPT格式,而看不懂GPT分区的程序则无法操作该磁盘,起到保护作用,放心,目前基本的管理程序都能识别GPT格式,所以该LBA块实际上与分区信息并无直接关联,这就是为啥不算入34LBA的原因;
    • LBA1 :GPT的表头,记录分区本身的位置与大小,同时记录分区在备份中最后34个LBA中的位置,方便恢复;
    • LBA2-34:共32块LBA,每块LBA记录4笔分区表,共支持4*23=128笔分区;而每个LBA默认为512bytes,则每笔记录用到512/4=128bytes,每笔记录拿出64bytes来记录开始、结束的扇区号码,因此对一个单一分区槽而言,支持的最大容量为264512bytes=2631Kbytes=233TB=8ZB2^{64}*512bytes=2^{63}*1Kbytes=2^{33}TB=8ZB
      注:
      1ZB=230TB1 ZB = 2^{30} TB

    在这里插入图片描述

    6.3 GPT分区示意图

      因此基本上GPT弥补了MBR的不足,但是GPT只是分区格式方法不同哈,以SCSI硬盘为例,磁盘的命名规则并没有大改;仍然是第一块盘sda,第二块盘sdb… 第一块盘的第一个分区sda1,第二个分区sda2等,但是GPR去除了扩展分区的概念,直接分区为主分区和逻辑分区;
       以上就是分区的理论支持,接下来进入分区实操环节;

    7. 磁盘分区实操

    7.1 给虚拟机添加一块磁盘

      这里就采用虚拟机来模拟添加磁盘,博主用的虚拟机是VMware,操作如下;

    1. 因为是添加硬件,需要先关闭虚拟机。点击关机。如图7.1;

    在这里插入图片描述

    图7.1 关闭虚拟机
    1. 然后选中虚拟机,鼠标右键,点击设置,如图7.2;
      在这里插入图片描述
    图7.2 点击设置
    1. 跳转图7.3,选择硬盘,点击下一步;

    在这里插入图片描述

    图7.3 添加硬盘

    1. 跳转图7.4,选择SCSI(S),点击下一步;

    在这里插入图片描述

    图7.4 选择SCSI硬盘

    1. 跳转图7.5,设置硬盘的大小,这里为了说明问题,博主就选默认的20G,点击下一步;
      在这里插入图片描述
    图7.5 选择硬盘大小
    1. 跳转图7.6,选择创建新虚拟磁盘(V),点击下一步;
      在这里插入图片描述
    图7.6 选择创建新虚拟磁盘
    1. 跳转图7.7,给磁盘文件命名,这个没关系,博主采用默认的,点击完成;

    在这里插入图片描述

    图7.7 给磁盘文件命名

    1. 跳转图7.8,点击确定完成硬盘的增加,然后记得开机;
      在这里插入图片描述
      图7.5 选择硬盘大小

    7.2 MBR方式分区实操

      开机后利用指令lsblk(老师不离开),可以看到磁盘sdb就是刚刚添加的磁盘,无分区情况;sda就是之前安装虚拟机设置的磁盘,有两个分区sda1sda2

    [hadoop@node2 ~]$ lsblk
    NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda               8:0    0   60G  0 disk
    ├─sda1            8:1    0    1G  0 part /boot
    └─sda2            8:2    0   59G  0 part
      ├─centos-root 253:0    0 38.3G  0 lvm  /
      ├─centos-swap 253:1    0    2G  0 lvm  [SWAP]
      └─centos-home 253:2    0 18.7G  0 lvm  /home
    sdb               8:16   0   20G  0 disk
    sr0              11:0    1  4.4G  0 rom
    
    # 也可以用fdisk来查看磁盘
    [root@node2 /]# fdisk -l
    
    磁盘 /dev/sda:64.4 GB, 64424509440 字节,125829120 个扇区
    Units = 扇区 of 1 * 512 = 512 bytes
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    磁盘标签类型:dos
    磁盘标识符:0x0001d6b8
    
       设备 Boot      Start         End      Blocks   Id  System
    /dev/sda1   *        2048     2099199     1048576   83  Linux
    /dev/sda2         2099200   125829119    61864960   8e  Linux LVM
    
    磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
    Units = 扇区 of 1 * 512 = 512 bytes
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    
    
    磁盘 /dev/mapper/centos-root:41.1 GB, 41120956416 字节,80314368 个扇区
    Units = 扇区 of 1 * 512 = 512 bytes
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    
    
    磁盘 /dev/mapper/centos-swap:2147 MB, 2147483648 字节,4194304 个扇区
    Units = 扇区 of 1 * 512 = 512 bytes
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    
    
    磁盘 /dev/mapper/centos-home:20.1 GB, 20073938944 字节,39206912 个扇区
    Units = 扇区 of 1 * 512 = 512 bytes
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    
    

      接下来开始采用MBR的方式进行分区,用到指令fdisk;

    要求:给20G的新磁盘分区,要求为P(5G)+P(5G)+L(5G)+L(5G);
    即,两个主分区,每个5G,两个逻辑分区,每个5G,之前说过逻辑分区不能单独存在,必须搭载扩展分区,所以实际情况应该是两个主分区,每个5G,一个扩展分区10G,扩展分区里面两个逻辑分区,每个5G

      操作如下;

    # fdisk /dev/sdb指令进入分区操作的交互命令行
    
    [root@node2 hadoop]# fdisk /dev/sdb
    欢迎使用 fdisk (util-linux 2.23.2)。
    
    更改将停留在内存中,直到您决定将更改写入磁盘。
    使用写入命令前请三思。
    
    Device does not contain a recognized partition table
    使用磁盘标识符 0xcc9206a3 创建新的 DOS 磁盘标签。
    
    命令(输入 m 获取帮助)# 输入m活的操作提示
    命令操作
       a   toggle a bootable flag
       b   edit bsd disklabel
       c   toggle the dos compatibility flag
       d   delete a partition
       g   create a new empty GPT partition table
       G   create an IRIX (SGI) partition table
       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)
    
    # 根据提示输入n add a new partition
    
    命令(输入 m 获取帮助):n
    Partition type:
       p   primary (0 primary, 0 extended, 4 free)
       e   extended
    # 这里p是主分区,e为拓展分区,先来个主分区,选择p
    
    Select (default p): p
    分区号 (1-4,默认 1):1
    # 这里跳转到选择分区号,之前理论讲过MBR只能有四个主或扩展分区,因为是新的分区,这里选择1即可;
    起始 扇区 (2048-41943039,默认为 2048):
    将使用默认值 2048
    # 这里选择起始的扇区,选择默认的即可
    
    Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+5G
    分区 1 已设置为 Linux 类型,大小设为 5 GiB
    # 这里选择结束的扇区,如果你选择默认的,那么就是将整块磁盘给到一个分区,
    # 这里磁盘有20G,我们可以来个5G的,选择+5G,就是给第一个分区5G空间
    
    # 这里还没完,还需要写入w,则完成分区1分区;
    命令(输入 m 获取帮助):w
    The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    正在同步磁盘。
    
    # 完成同步后会自动退出,再次使用lsblk指令查看,发现已经多了sdb1
    [root@node2 hadoop]# lsblk
    NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda               8:0    0   60G  0 disk
    ├─sda1            8:1    0    1G  0 part /boot
    └─sda2            8:2    0   59G  0 part
      ├─centos-root 253:0    0 38.3G  0 lvm  /
      ├─centos-swap 253:1    0    2G  0 lvm  [SWAP]
      └─centos-home 253:2    0 18.7G  0 lvm  /home
    sdb               8:16   0   20G  0 disk
    └─sdb1            8:17   0    5G  0 part
    sr0              11:0    1  4.4G  0 rom
    
    # 再来创建第二个主分区
    [root@node2 hadoop]# fdisk /dev/sdb
    欢迎使用 fdisk (util-linux 2.23.2)。
    
    更改将停留在内存中,直到您决定将更改写入磁盘。
    使用写入命令前请三思。
    
    
    命令(输入 m 获取帮助):n
    Partition type:
       p   primary (1 primary, 0 extended, 3 free)
       e   extended
       
    # 选择p表示创建第二个主分区
    Select (default p): p
    
    # 这里自动选择序号2,因为1已经被第一个主分区占用
    分区号 (2-4,默认 2):2
    
    # 其实位置选择默认即可
    起始 扇区 (10487808-41943039,默认为 10487808):
    将使用默认值 10487808
    
    # 结束扇区依然选择5G
    Last 扇区, +扇区 or +size{K,M,G} (10487808-41943039,默认为 41943039):+5G
    分区 2 已设置为 Linux 类型,大小设为 5 GiB
    
    # w指令保存磁盘修改
    命令(输入 m 获取帮助):w
    The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    正在同步磁盘。
    
    # lsblk指令得到第二块主分区sbd2
    [root@node2 hadoop]# lsblk
    NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda               8:0    0   60G  0 disk
    ├─sda1            8:1    0    1G  0 part /boot
    └─sda2            8:2    0   59G  0 part
      ├─centos-root 253:0    0 38.3G  0 lvm  /
      ├─centos-swap 253:1    0    2G  0 lvm  [SWAP]
      └─centos-home 253:2    0 18.7G  0 lvm  /home
    sdb               8:16   0   20G  0 disk
    ├─sdb1            8:17   0    5G  0 part
    └─sdb2            8:18   0    5G  0 part
    sr0              11:0    1  4.4G  0 rom
    
    # 接下来是创建拓展分区和逻辑分区
    
    [root@node2 hadoop]# fdisk /dev/sdb
    欢迎使用 fdisk (util-linux 2.23.2)。
    
    更改将停留在内存中,直到您决定将更改写入磁盘。
    使用写入命令前请三思。
    
    
    命令(输入 m 获取帮助):n
    Partition type:
       p   primary (2 primary, 0 extended, 2 free)
       e   extended
    
    # 选择e表示拓展分区,编号可以选择默认的3
    Select (default p): e
    分区号 (3,4,默认 3):3
    
    # 起始扇区选择默认的位置
    起始 扇区 (20973568-41943039,默认为 20973568):
    将使用默认值 20973568
    
    # 剩下的所有磁盘分给这个拓展分区
    Last 扇区, +扇区 or +size{K,M,G} (20973568-41943039,默认为 41943039):
    将使用默认值 41943039
    分区 3 已设置为 Extended 类型,大小设为 10 GiB
    
    # 记得写入w保存磁盘更改
    
    命令(输入 m 获取帮助):w
    The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    正在同步磁盘。
    
    # 之前理论说过,扩展分区是不能单独存在的,必须要有逻辑分区在里面,接下来再来两次,创建逻辑分区
    
    [root@node2 hadoop]# fdisk /dev/sdb
    欢迎使用 fdisk (util-linux 2.23.2)。
    
    更改将停留在内存中,直到您决定将更改写入磁盘。
    使用写入命令前请三思。
    
    
    命令(输入 m 获取帮助):n
    
    # 这里你会发现,多了个l(logic) 的选项,即逻辑分区的意思,这里记得选l
    Partition type:
       p   primary (2 primary, 1 extended, 1 free)
       l   logical (numbered from 5)
    Select (default p): l
    添加逻辑分区 5
    
    # 选择默认的起始扇区
    起始 扇区 (20975616-41943039,默认为 20975616):
    将使用默认值 20975616
    
    # 第一个逻辑分区为5G
    Last 扇区, +扇区 or +size{K,M,G} (20975616-41943039,默认为 41943039):+5G
    # 默认逻辑分区从编号5开始,因为1-4要预留给到主分区和扩展分区
    分区 5 已设置为 Linux 类型,大小设为 5 GiB
    
    # 记得保存磁盘更改,写入w;
    命令(输入 m 获取帮助):w
    The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    正在同步磁盘。
    
    # 再来一次,创建 第二块逻辑分区
    [root@node2 hadoop]# fdisk /dev/sdb
    欢迎使用 fdisk (util-linux 2.23.2)。
    
    更改将停留在内存中,直到您决定将更改写入磁盘。
    使用写入命令前请三思。
    
    
    命令(输入 m 获取帮助):n
    Partition type:
       p   primary (2 primary, 1 extended, 1 free)
       l   logical (numbered from 5)
    Select (default p): l
    添加逻辑分区 6
    起始 扇区 (31463424-41943039,默认为 31463424):
    将使用默认值 31463424
    
    # 使用默认的结束扇区,即将剩下的扩展分区的空间全部给到第二个逻辑分区
    Last 扇区, +扇区 or +size{K,M,G} (31463424-41943039,默认为 41943039):
    将使用默认值 41943039
    分区 6 已设置为 Linux 类型,大小设为 5 GiB
    
    命令(输入 m 获取帮助):w
    The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    正在同步磁盘。
    
    # 到此,主分区,扩展分区,逻辑分区的分区操作就算完了;切忌使用前还需要进行格式化,
    # 格式化的操作再下个小结挂载的时候再细讲
    
    # 使用lsblk查看刚刚的主分区,扩展分区,逻辑分区的分区操作的结果,
    # 发现完全符合之前MBR分区的理论和我们的预期
    [root@node2 hadoop]# lsblk
    NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda               8:0    0   60G  0 disk
    ├─sda1            8:1    0    1G  0 part /boot
    └─sda2            8:2    0   59G  0 part
      ├─centos-root 253:0    0 38.3G  0 lvm  /
      ├─centos-swap 253:1    0    2G  0 lvm  [SWAP]
      └─centos-home 253:2    0 18.7G  0 lvm  /home
    sdb               8:16   0   20G  0 disk
    ├─sdb1            8:17   0    5G  0 part
    ├─sdb2            8:18   0    5G  0 part
    ├─sdb3            8:19   0    1K  0 part
    ├─sdb5            8:21   0    5G  0 part
    └─sdb6            8:22   0    5G  0 part
    sr0              11:0    1  4.4G  0 rom
    
    
    # 其他重要指令
    # 发现分区操作失误,可以d删除指令
     d   delete a partition
    

    7.2 GPT分区实操(大于2T的磁盘分区方法,小于也能用)

      之前说过MBR分区格式,即对应的fdisk操作有局限就是大于2T的磁盘无法使用该理论和方法,那个人PC可能觉得2T完全满足,但是服务器2T肯定是不足的,因此学习下GPT的分区方法也是很有必要的,使用的指令为parted,博主比较穷,私人是没有2T的硬盘的,这里就用一个20G的来模拟,实现以下要求;

    要求:给20G的新磁盘分区,要求为P(5G)+P(5G)+L(5G)+L(5G);
    即,两个主分区,每个5G,两个逻辑分区,每个5G,之前说过逻辑分区不能单独存在,必须搭载扩展分区,所以实际情况应该是两个主分区,每个5G,一个扩展分区10G,扩展分区里面两个逻辑分区,每个5G

      操作如下;

    # 使用lsblk查看刚刚新增的磁盘sdc
    
    [root@node2 hadoop]# lsblk
    NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda               8:0    0   60G  0 disk
    ├─sda1            8:1    0    1G  0 part /boot
    └─sda2            8:2    0   59G  0 part
      ├─centos-root 253:0    0 38.3G  0 lvm  /
      ├─centos-swap 253:1    0    2G  0 lvm  [SWAP]
      └─centos-home 253:2    0 18.7G  0 lvm  /home
    sdb               8:16   0   20G  0 disk
    ├─sdb1            8:17   0    5G  0 part
    ├─sdb2            8:18   0    5G  0 part
    ├─sdb3            8:19   0    1K  0 part
    ├─sdb5            8:21   0    5G  0 part
    └─sdb6            8:22   0    5G  0 part
    sdc               8:32   0   20G  0 disk
    sr0              11:0    1  4.4G  0 rom
    
    # 进行parted分区
    # 使用parted /dev/sdc进入交互的parted命令行
    
    [root@node2 hadoop]#  parted /dev/sdc
    GNU Parted 3.1
    使用 /dev/sdc
    Welcome to GNU Parted! Type 'help' to view a list of commands.
    (parted)
    
    # 输入p查看当前分区,发现为0个分区
    (parted) p
    Model: VMware, VMware Virtual S (scsi)
    Disk /dev/sdc: 21.5GB
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt
    Disk Flags:
    Number  Start  End  Size  File system  Name  标志
    
    # 将MBR磁盘格式化为GPT
    (parted) mklabel gpt
    
    # 创建第一个主分区
    (parted) mkpart primary 0 5G
    警告: The resulting partition is not properly aligned for best performance.
    忽略/Ignore/放弃/Cancel? Ignore
    
    # 查看当前磁盘分区情况,发现第一个主分区成功
    (parted) p
    Model: VMware, VMware Virtual S (scsi)
    Disk /dev/sdc: 21.5GB
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt
    Disk Flags:
    
    Number  Start   End     Size    File system  Name     标志
     1      17.4kB  5000MB  5000MB               primary
    
    # 创建第二个主分区
    (parted) mkpart primary 5G 10G
    
    # 输入p查看第二个主分区
    (parted) p
    Model: VMware, VMware Virtual S (scsi)
    Disk /dev/sdc: 21.5GB
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt
    Disk Flags:
    
    Number  Start   End     Size    File system  Name     标志
     1      17.4kB  5000MB  5000MB               primary
     2      5001MB  10.0GB  5000MB               primary
    
    # 创建第三个逻辑分区,理论篇说过GPT分区,逻辑分区不需要以扩展分区为载体,所以这里没有扩展分区
    (parted) mkpart logic 10G 15G
    
    # 输入p查看第一个个逻辑分区
    (parted) p
    Model: VMware, VMware Virtual S (scsi)
    Disk /dev/sdc: 21.5GB
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt
    Disk Flags:
    
    Number  Start   End     Size    File system  Name     标志
     1      17.4kB  5000MB  5000MB               primary
     2      5001MB  10.0GB  5000MB               primary
     3      10.0GB  15.0GB  5000MB               logic
    
    # 创建第2个逻辑分区
    (parted) mkpart logic 15G 20G
    
    # 输入p查看当前分区
    (parted) p
    Model: VMware, VMware Virtual S (scsi)
    Disk /dev/sdc: 21.5GB
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt
    Disk Flags:
    
    Number  Start   End     Size    File system  Name     标志
     1      17.4kB  5000MB  5000MB               primary
     2      5001MB  10.0GB  5000MB               primary
     3      10.0GB  15.0GB  5000MB               logic
     4      15.0GB  20.0GB  5000MB               logic
    
    # 也可以使用print查看当前分区
    (parted) print
    Model: VMware, VMware Virtual S (scsi)
    Disk /dev/sdc: 21.5GB
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt
    Disk Flags:
    
    Number  Start   End     Size    File system  Name     标志
     1      17.4kB  5000MB  5000MB               primary
     2      5001MB  10.0GB  5000MB               primary
     3      10.0GB  15.0GB  5000MB               logic
     4      15.0GB  20.0GB  5000MB               logic
    
    # 退出parted交互命令行
    (parted) quit
    信息: You may need to update /etc/fstab.
    
    # 利用lsblk查看刚刚的gpt分区
    [root@node2 hadoop]# lsblk
    NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda               8:0    0   60G  0 disk
    ├─sda1            8:1    0    1G  0 part /boot
    └─sda2            8:2    0   59G  0 part
      ├─centos-root 253:0    0 38.3G  0 lvm  /
      ├─centos-swap 253:1    0    2G  0 lvm  [SWAP]
      └─centos-home 253:2    0 18.7G  0 lvm  /home
    sdb               8:16   0   20G  0 disk
    ├─sdb1            8:17   0    5G  0 part
    ├─sdb2            8:18   0    5G  0 part
    ├─sdb3            8:19   0    1K  0 part
    ├─sdb5            8:21   0    5G  0 part
    └─sdb6            8:22   0    5G  0 part
    sdc               8:32   0   20G  0 disk
    ├─sdc1            8:33   0  4.7G  0 part
    ├─sdc2            8:34   0  4.7G  0 part
    ├─sdc3            8:35   0  4.7G  0 part
    └─sdc4            8:36   0  4.7G  0 part
    sr0              11:0    1  4.4G  0 rom
    
    # parted分区指令的其他命令
    
    
    # 划分所有空间到一个分区
    (parted) mkpart primary 0-1
    
    # 如果要反过来.将GPT磁盘转化为MBR磁盘
    (parted) mklable msdos
    
    
    

    8. 磁盘的格式化、手动挂载、自动挂载、卸载

    8.1 文件系统的类型

      Linux:存在几十个文件系统类型:ext2,ext3,ext4,xfs,brtfs等,不同文件系统采用不同的方法来管理磁盘空间,各有优劣;文件系统是具体到分区的,所以格式化针对的是分区,分区格式化是指采用指定的文件系统类型对分区空间进行登记、索引并建立相应的管理表格的过程。

    • ext2具有极快的速度和极小的CPU占用率,可用于硬盘和移动存储设备
    • ext3增加日志功能,可回溯追踪
    • ext4日志式文件系统,支持1EB(1024*1024TB),最大单文件16TB,支持连续写入可减少文件碎片。rhel6默认文件系统
    • xfs可以管理500T的硬盘。rhel7默认文件系统
    • brtfs文件系统针对固态盘做优化;

    8.2 格式化、手动挂载、自动挂载、卸载实操

      怎么多怎么记呢,其实很简单, ext一代比一代强,目前要用当然是 ext4, xfs又是更强的文件系统,CentOS7默认的文件系统,如果你的系统支持,优选xfs,再是ext4吧,当然如果是固态硬盘,可以考虑brtfs;
      磁盘的格式化,是精确到每个分区的;磁盘分区在使用前,必须先格式化以下,然后具体怎么用呢;具体步骤如下;

    1. 格式化磁盘分区
    2. 将磁盘分区挂载到一个文件夹下,其实可以理解为将文件夹映射到该分区下,当有文件存入该文件夹,则实际就存入了该磁盘的分区;
    3. 挂载分为手动挂载和自动挂载,手动挂载,则开启重启后会失效,自动挂载则在开机的时候给你挂好,让使用者无感;
    4. 有时候不需要该分区,则需要先卸载该分区对应的文件夹,再删除分区,则为卸载操作;

      下面进入实操环节;

    # 在根目录下新建一个myfile目录作为挂载的目录
    cd /
    mkdir file
    
    # 格式化sdc2分区,选用文件系统问目前最优的xfs
    # 注意,/dev/sdc2一定要带上2,一定要带上2,一定要带上2
    # 不带上什么意思,就是格式化整个磁盘,结果就是你之前做的sdc的分区全部白费了
    mkfs.xfs /dev/sdc2
    
    # 手动挂载
    [root@node2 /]# mount /dev/sdc2 file/
    
    # 查看挂载情况,发现sdc2后面已经挂在了/file
    [root@node2 /]# lsblk
    NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda               8:0    0   60G  0 disk
    ├─sda1            8:1    0    1G  0 part /boot
    └─sda2            8:2    0   59G  0 part
      ├─centos-root 253:0    0 38.3G  0 lvm  /
      ├─centos-swap 253:1    0    2G  0 lvm  [SWAP]
      └─centos-home 253:2    0 18.7G  0 lvm  /home
    sdb               8:16   0   20G  0 disk
    sdc               8:32   0   20G  0 disk
    ├─sdc1            8:33   0  4.7G  0 part
    ├─sdc2            8:34   0  4.7G  0 part /file
    ├─sdc3            8:35   0  4.7G  0 part
    └─sdc4            8:36   0  4.7G  0 part
    sr0              11:0    1  4.4G  0 rom
    
    # 磁盘卸载
    # 使用umount卸载分区时,可以指定挂载点,也可以指定挂载的路径
    umount /dev/sdc1
    # 或者等价于
    umount /file 
    
    # 此时关机重启下,再lsblk指令,返现该手动挂载的目录失效了
    [root@node2 hadoop]# lsblk
    NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda               8:0    0   60G  0 disk
    ├─sda1            8:1    0    1G  0 part /boot
    └─sda2            8:2    0   59G  0 part
      ├─centos-root 253:0    0 38.3G  0 lvm  /
      ├─centos-swap 253:1    0    2G  0 lvm  [SWAP]
      └─centos-home 253:2    0 18.7G  0 lvm  /home
    sdb               8:16   0   20G  0 disk
    sdc               8:32   0   20G  0 disk
    ├─sdc1            8:33   0  4.7G  0 part
    ├─sdc2            8:34   0  4.7G  0 part
    ├─sdc3            8:35   0  4.7G  0 part
    └─sdc4            8:36   0  4.7G  0 part
    sr0              11:0    1  4.4G  0 rom
    
    # 因此要实现自动挂载
    # 手动挂载
    [root@node2 /]# mount /dev/sdc2 file/
    
    # 获取sdc1的UUID
    [root@node2 /]# blkid /dev/sdc2
    /dev/sdc2: UUID="2b9fa094-078c-4c38-8b1f-d15986f6eb96" TYPE="xfs" PARTLABEL="primary" PARTUUID="83532884-4d4b-40d0-a9b3-4b85adc2ddd3"
    
    # 编辑/etc/fstab文件,加入新的分区挂载
    vim /etc/fstab
    
    # 最后一行追加刚刚的磁盘挂载
    
    #
    # /etc/fstab
    # Created by anaconda on Sat Apr 11 20:27:09 2020
    #
    # Accessible filesystems, by reference, are maintained under '/dev/disk'
    # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
    #
    /dev/mapper/centos-root /                       xfs     defaults        0 0
    UUID=ee1291e7-1efb-4872-b874-c51bf0007866 /boot                   xfs     defaults        0 0
    /dev/mapper/centos-home /home                   xfs     defaults        0 0
    # 上面为系统自带,别理,下面添加这句
    /dev/mapper/centos-swap swap                    swap    defaults        0 0
    UUID=2b9fa094-078c-4c38-8b1f-d15986f6eb96 /file xfs     defaults        0 0
    
    # 注意,如果不用UUID,用磁盘设备名称也可,以下信息等价
    /dev/sdc1               /file                   xfs     defaults        0 0
    
    
    #以上就完成了磁盘的自动挂载,可以开机重启验证下
    
    
    
    

    9. 两块磁盘空间合二为一,并挂载到同一目录下实现扩容

      服务器预算中希望有个文件夹有10T,但是手上只有两块5T的磁盘,怎么办呢,能不能把两块5T的磁盘同时挂载到同一个文件夹呢?答案当然是可以的;
      那博主比较穷,自热是没有5T的磁盘,那就那两个20G的凑合下吧,实现同时挂载到一个目录下,实现该目录40G的存储空间;

    要求将两块20G的磁盘sdb,sdc,同时挂载到目录mydata下,是的目录mydata的存储空间为40G;

      下面进入实操环节;

    # 这里也采用GPT的分区方法,使用parted指令
    [root@node3 hadoop]# parted /dev/sdb
    GNU Parted 3.1
    使用 /dev/sdb
    Welcome to GNU Parted! Type 'help' to view a list of commands.
    
    # 将磁盘转换成gpt
    (parted) mklabel gpt
    
    #这里反正要合并,就设置一个主分区包含整个磁盘
    (parted) mkpart primary 0 100%
    警告: The resulting partition is not properly aligned for best performance.
    忽略/Ignore/放弃/Cancel? Ignore
    (parted) p
    Model: VMware, VMware Virtual S (scsi)
    Disk /dev/sdb: 21.5GB
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt
    Disk Flags:
    
    Number  Start   End     Size    File system  Name     标志
     1      17.4kB  21.5GB  21.5GB               primary
    
    # 同理对磁盘/dev/sbc进行相同的操作
    [root@node3 hadoop]# parted /dev/sdc
    GNU Parted 3.1
    使用 /dev/sdc
    Welcome to GNU Parted! Type 'help' to view a list of commands.
    (parted) mklabel gpt
    (parted) mkpart primart 0 100%
    警告: The resulting partition is not properly aligned for best performance.
    忽略/Ignore/放弃/Cancel? I
    (parted) p
    Model: VMware, VMware Virtual S (scsi)
    Disk /dev/sdc: 21.5GB
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt
    Disk Flags:
    
    Number  Start   End     Size    File system  Name     标志
     1      17.4kB  21.5GB  21.5GB               primart
    
    (parted) quit
    信息: You may need to update /etc/fstab.
    
    # 得到目前的磁盘分布如下
    
    [root@node3 hadoop]# lsblk
    NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda               8:0    0   60G  0 disk
    ├─sda1            8:1    0    1G  0 part /boot
    └─sda2            8:2    0   59G  0 part
      ├─centos-root 253:0    0 38.3G  0 lvm  /
      ├─centos-swap 253:1    0    2G  0 lvm  [SWAP]
      └─centos-home 253:2    0 18.7G  0 lvm  /home
    sdb               8:16   0   20G  0 disk
    └─sdb1            8:17   0   20G  0 part
    sdc               8:32   0   20G  0 disk
    └─sdc1            8:33   0   20G  0 part
    sdd               8:48   0   20G  0 disk
    sr0              11:0    1  4.4G  0 rom
    
    # 创建物理卷的命令为pvcreate;利用该命令将希望添加到卷组的所有分区或磁盘创建为物理卷;
    [root@node3 hadoop]# pvcreate /dev/sdb1
      Physical volume "/dev/sdb1" successfully created.
      
    # 将分区/dev/sdb1和/dev/sdc1分区创建为物理卷: 
    [root@node3 hadoop]# pvcreate /dev/sdc1
      Physical volume "/dev/sdc1" successfully created.
    
    
    #创建卷组的命令为vgcreate;用此命令将使用pvcreate建立的物理卷创建为一个完整的卷组;
    #将物理卷/dev/sdb1创建为一个名为vgmysql的卷组:
    [root@node3 hadoop]# vgcreate vgmygroup1 /dev/sdb1
      Volume group "vgmygroup1" successfully created
    
    #此步即为将2块磁盘空间合二为一的关键步骤;当系统中新增了磁盘或新建了物理卷,而要将其添加到已有卷组时,就可使用vgextend命令;
    # 将物理卷/dev/sdc1添加到vgmysql卷组中:
      
    [root@node3 hadoop]# vgextend vgmygroup1 /dev/sdc1
      Volume group "vgmygroup1" successfully extended
    
    # 查看卷组用vgs,从vgs命令的回显结果来看,卷组vgmysql成功添加
    # 并且其总空间为两块物理磁盘的总大小(因换算单位不同,所以不是精确的40G)。
    [root@node3 hadoop]# vgs
      VG         #PV #LV #SN Attr   VSize   VFree
      centos       1   3   0 wz--n- <59.00g  4.00m
      vgmygroup1   2   0   0 wz--n-  39.99g 39.99g
    
    # 创建逻辑卷的命令为lvcreate;用此命令将在使用vgcreate建立的卷组上创建逻辑卷;
    # 在卷组vgmysql上创建一个名为lvmysql的逻辑卷,起大小为 39.99G;
    # -n:指定逻辑卷名
    # -L:指定逻辑卷大小
    [root@node3 hadoop]# lvcreate -L 39.99g -n lvmygroup vgmygroup1
      Rounding up size to full physical extent 39.99 GiB
      Logical volume "lvmygroup" created.
    
    # 将创建的lvmysql逻辑卷格式化为xfs
    [root@node3 hadoop]# mkfs -t xfs /dev/vgmygroup1/lvmygroup
    meta-data=/dev/vgmygroup1/lvmygroup isize=512    agcount=4, agsize=2620928 blks
             =                       sectsz=512   attr=2, projid32bit=1
             =                       crc=1        finobt=0, sparse=0
    data     =                       bsize=4096   blocks=10483712, imaxpct=25
             =                       sunit=0      swidth=0 blks
    naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
    log      =internal log           bsize=4096   blocks=5119, version=2
             =                       sectsz=512   sunit=0 blks, lazy-count=1
    realtime =none                   extsz=4096   blocks=0, rtextents=0
    
    # 切换到根目录,在根目录下新建文件夹
    [root@node3 hadoop]# cd /
    [root@node3 /]# mkdir mydata
    
    # 挂载刚刚的逻辑组到新建目录下
    [root@node3 /]# mount /dev/vgmygroup1/lvmygroup /mydata/
    
    # 查看磁盘大小和挂载磁盘查看,目录为40G
    [root@node3 /]# df -h
    文件系统                          容量  已用  可用 已用% 挂载点
    devtmpfs                          475M     0  475M    0% /dev
    tmpfs                             487M     0  487M    0% /dev/shm
    tmpfs                             487M  7.8M  479M    2% /run
    tmpfs                             487M     0  487M    0% /sys/fs/cgroup
    /dev/mapper/centos-root            39G  4.3G   35G   12% /
    /dev/sda1                        1014M  137M  878M   14% /boot
    /dev/mapper/centos-home            19G   33M   19G    1% /home
    tmpfs                              98M     0   98M    0% /run/user/2000
    tmpfs                              98M     0   98M    0% /run/user/0
    /dev/mapper/vgmygroup1-lvmygroup   40G   33M   40G    1% /mydata
    
    # 创建开机自动挂载
    [root@node3 /]# echo /dev/mapper/vgmygroup1-lvmygroup /mydata/ xfs defaults 0 0 >> /etc/fstab
    
    # 重启重新查看挂载的磁盘,确认成功自动开机挂载
    [root@node3 ~]# sync
    [root@node3 ~]# reboot
    
    # 使用df -h指令再次查看,发现完成自动挂载
    [root@node3 ~]# df -h
    文件系统                          容量  已用  可用 已用% 挂载点
    devtmpfs                          475M     0  475M    0% /dev
    tmpfs                             487M     0  487M    0% /dev/shm
    tmpfs                             487M  7.8M  479M    2% /run
    tmpfs                             487M     0  487M    0% /sys/fs/cgroup
    /dev/mapper/centos-root            39G  4.3G   35G   12% /
    /dev/mapper/vgmygroup1-lvmygroup   40G   33M   40G    1% /mydata
    tmpfs                              98M     0   98M    0% /run/user/0
                             98M     0   98M    0% /run/user/2000
    
    

    10. 磁盘的查看命令

    10.1 df指令

    df

      df命令参数功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

    语法:

    df [-ahikHTm] [目录或文件名]

      选项与参数:

    -a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;
    -k :以 KBytes 的容量显示各文件系统;
    -m :以 MBytes 的容量显示各文件系统;
    -h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
    -H :以 M=1000K 取代 M=1024K 的进位方式;
    -T :显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;
    -i :不用硬盘容量,而以 inode 的数量来显示
    

      使用样例

    [root@node3 ~]# df -Th
    文件系统                         类型      容量  已用  可用 已用% 挂载点
    devtmpfs                         devtmpfs  475M     0  475M    0% /dev
    tmpfs                            tmpfs     487M     0  487M    0% /dev/shm
    tmpfs                            tmpfs     487M  7.8M  479M    2% /run
    tmpfs                            tmpfs     487M     0  487M    0% /sys/fs/cgroup
    /dev/mapper/centos-root          xfs        39G  4.3G   35G   12% /
    /dev/mapper/vgmygroup1-lvmygroup xfs        40G   33M   40G    1% /mydata
    tmpfs                            tmpfs      98M     0   98M    0% /run/user/0
    
    

    10.2 du指令

      du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的。

    语法:

    du [-ahskm] 文件或目录名称

      选项与参数:

    -a :列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已。
    -h :以人们较易读的容量格式 (G/M) 显示;
    -s :列出总量而已,而不列出每个各别的目录占用容量;
    -S :不包括子目录下的总计,与 -s 有点差别。
    -k :以 KBytes 列出容量显示;
    -m :以 MBytes 列出容量显示;
    

      使用样例;

    [root@node3 hadoop]# du -ah ./*
    8.0K    ./capacity-scheduler.xml
    4.0K    ./configuration.xsl
    4.0K    ./container-executor.cfg
    4.0K    ./core-site.xml
    4.0K    ./hadoop-env.cmd
    8.0K    ./hadoop-env.sh
    4.0K    ./hadoop-metrics2.properties
    4.0K    ./hadoop-metrics.properties
    12K     ./hadoop-policy.xml
    4.0K    ./hdfs-site.xml
    4.0K    ./httpfs-env.sh
    4.0K    ./httpfs-log4j.properties
    4.0K    ./httpfs-signature.secret
    4.0K    ./httpfs-site.xml
    4.0K    ./kms-acls.xml
    4.0K    ./kms-env.sh
    4.0K    ./kms-log4j.properties
    8.0K    ./kms-site.xml
    16K     ./log4j.properties
    4.0K    ./mapred-env.cmd
    4.0K    ./mapred-env.sh
    8.0K    ./mapred-queues.xml.template
    4.0K    ./mapred-site.xml
    4.0K    ./mapred-site.xml.template
    4.0K    ./slaves
    4.0K    ./ssl-client.xml.example
    4.0K    ./ssl-server.xml.example
    4.0K    ./yarn-env.cmd
    8.0K    ./yarn-env.sh
    8.0K    ./yarn-site.xml
    
    

      至于其他的磁盘指令fdisk,lsblk,parted等,已经在前面的分区地方将的十分清楚了,这里就不在累赘了;

    展开全文
  • Linux磁盘分区挂载和磁盘阵列

    千次阅读 2019-04-09 22:19:54
    Raid0:采用剥离,数据几个磁盘上进行分割 Raid1:通过磁盘镜像来实现,主要用来确保数据的可靠性 Raid5:通过一种称为奇偶检验的技术保持数据的冗余 一个硬盘做分区挂载,三个做磁盘阵列,原因是:磁盘阵列中,...
  • Linux挂载磁盘分区

    万次阅读 多人点赞 2018-09-14 15:03:28
    Linux系统一般都会未挂载的磁盘,如果我们想使用这些为挂载的磁盘就需要挂载到指定目录才能使用。 一、多个磁盘,将未分区的磁盘挂载 1、进入root用户 su – 2、查看已挂载磁盘的使用情况: df –h ...
  • 动态挂载过很多次磁盘,迁移过很多次数据。虽然重复了很多次,但是一直没有记住过这一系列的命令,估计以后也记不住,因此为了方便自己,做个记录。 一、首先需要让 Linux 识别新挂载的磁盘 参考,近乎照抄:Linux...
  • 在Linux或Windows乃至其他的系统,我们经常会需要进行磁盘的挂载。通常从挂载的方式的上分为本地挂载和远程挂载。Linux的本地挂载就不介绍了,这篇文章介绍的是远程挂载网络磁盘。 远程挂载的优点:可以进行数据...
  • Linux Hadoop集群报警,磁盘满了

    千次阅读 2016-10-27 11:10:20
    Linux 报警 磁盘满了
  • 如何清理Linux服务器磁盘空间

    万次阅读 多人点赞 2018-04-04 18:17:28
    时候,服务突然了,再次启动却启动不了。一看,原来是磁盘空间被占满啦,那么,怎么清理呢。介绍如下:df -h ,这个命令用于查看服务器空间,运行后的效果图如下:可以看到,还剩余8G可用。du -h --max-depth=1...
  • Linux学习篇 Linux磁盘规划

    千次阅读 2013-06-24 13:50:45
    1. 文件系统格式 文件系统是操作系统最为重要的一部分,它定义了磁盘上存储文件的方法和数据结构。文件系统是操作系统组织、存取和保存信息的重要手段,没种操作系统都自己的文件系统,如Windows所使用的文件系统...
  • Linux磁盘管理详解

    千次阅读 2021-03-06 23:27:25
    磁盘是一种存储设备,所有的从操作系统和应用程序都安装在磁盘上。 目录1.磁盘分类2.磁盘容量3.磁盘分区4.磁盘分区工具4.1.fdisk分区工具4.2.parted分区工具 1.磁盘分类 一般应用于服务器的磁盘主要三种: SATA...
  • linux如何mount挂载磁盘并设置开机自动mount

    万次阅读 多人点赞 2018-07-31 11:25:15
    知道大家时间都很宝贵,我直接把流程命令写下来,大家配置完即可,想研究原理的话就往下读 ...fdisk -l # 查看可挂载的磁盘 df -h # 查看已经挂载的磁盘 mkfs.ext4 /dev/vdb # 初始化磁盘 mount /dev/vdb /u01 ...
  • linux 修复磁盘

    千次阅读 2012-02-21 14:14:55
    出现这样的问题需要使用fsck命令扫描修复磁盘(fsck扫描前最好通过其他方法将能备份出来的数据备份出来,以防fsck将文件扫描损坏) 解决以上问题的方法: 1、使用光盘启动,进入救援模式  1.1、
  • linux挂载磁盘阵列

    千次阅读 2011-09-02 08:32:52
    许多项目中,都会把数据存放于磁盘阵列,以确保数据安全或者实现负载均衡。初始安装数据库系统和数据恢复时,都需要先挂载磁盘阵列到系统中。本文记录一次在linux系统中挂载磁盘的操作步骤,以及注意事项。 ...
  • linux查缺补漏之磁盘和文件系统

    千次阅读 2015-05-12 20:57:37
    为了存放这些数据,就需要将分隔槽格式化,比如在linux上面文件系统里面就inode, block, superBlock,这些就是为文件系统而存在的,所以格式化的时候,就需要在磁盘里面加上标签,标号神马的! 文件系统 ...
  • linux上组建和挂载磁盘阵列

    千次阅读 2013-11-18 10:19:43
    但是实际存储数据过程中,磁盘阵列是将数据分别保存不同的硬盘上,以提高数据的安全性。笔者今天将跟大家说说如何在Linux环境下组建磁盘阵列。 一、使用磁盘阵列可以带来哪些好处? 具体如何配置磁盘阵列之前...
  • 在linux下查看硬盘分区 linux下,你如果想要挂载一个硬盘的话,你肯定需要知道硬盘分区的情况,怎么知道呢?我现在说两几方法。  用"df"或者“df -lh”可以查看已经挂载的分区情况。  用“fdisk -l...
  • 因业务需要需要将阿里云...时候会遇到Linux磁盘挂载后,无法正常卸载的情况。 查看磁盘挂载情况 # df -h 文件系统 容量 已用 可用 已用%% 挂载点 ... /dev/vdb 99G 48G 47G 51% /data 运行 umount 命令卸载指...
  • Linux磁盘挂载

    2015-08-12 13:36:56
    所谓挂在就是利用一个目录当成进入点,将磁盘分区的数据放在该目录下,也就是说,进入该目录就可以读取该分区的意思。Linux系统最重要的是根目录,因此根目录一定需要挂载到某个分区,至于其他的目录则根据需要挂载...
  • 从Windows开始学习的,现在看Linux的文件系统和磁盘结合方式,有点云里雾里。查了些资料。总结以下理解:  Windows的文件都是放在分区中,系统寻找文件是从分区开始的,所有分区之间是并行的关系。而Linux中,由于...
  • Linux 磁盘挂载

    千次阅读 2018-06-05 17:45:06
    1、fdisk -l 如下显示/dev/sdc 没有正确的分区数据 ...3、最后fdisk -l 看到有linux格式的磁盘了 4、文件格式化(这一步不需要进行什么操作,只需要等待一两分钟左右便可) mkfs -t ext4 /dev/sdc1 ...
  • linux 的 两种磁盘扩充方法

    万次阅读 2018-05-26 23:00:20
    主要的扩容方法两种:通过空余的磁盘进行扩容,这个方法比较简单,不会对原有数据有影响。将其他LVM分区空间取出一部分给需要扩容的LVM分区。下面就分别具体介绍这两种方法。查看系统磁盘当使用df -h命令,可以...
  • linux磁盘管理

    千次阅读 2011-06-04 10:17:00
    1 基本常识一个硬盘能够被分成一个或多个被称作分区的逻辑磁盘。这些分区信息保存在磁盘的0扇区内。设备分区通常如下所示: /dev/hda /dev/hdb /dev/sda /dev/sdb/dev/hd[a-h] 是IDE类型的磁盘 /dev/
  • Linux磁盘分区fdisk命令用法

    千次阅读 2017-08-01 21:46:59
    Linux磁盘划分 Linux硬盘划分 fdisk磁盘划分 fdisk命令用法 什么是磁盘划分 为什么要进行磁盘划分
  • 文章目录1.磁盘分区2.目录3.磁盘命令3.1 lsblk3.2 df3.3 fdisk3.4 cfdisk3.5 blkid3.6 du3.7 free3.8 mount/umount4.系统属性命令4.1.查看内核版本4.2.查看linux系统版本信息4.1 其他 ...centos7磁盘分区与...
  • Linux下如何挂载磁盘

    万次阅读 多人点赞 2017-08-01 15:23:43
    使用虚拟机时发现磁盘空间不够了,需要挂载一个磁盘以供继续使用,但是磁盘不是添加就可以使用的,还需要进行挂载。 一、添加磁盘 添加加新硬盘重启服务器添加完之后就可以重启机器了,如果你机器是开启的,进入...
  • Linux私房菜基础篇:第二部分,linux文件、目录与磁盘格式 第6章:linux的文件属性与目录配置 *. linux最优秀的地方之一,就在于他的多用户、多任务环境。为了让各用户具有较安全的管理机制,文件的权限管理是...
  • Azure虚拟机挂载数据磁盘

    千次阅读 2017-06-07 10:42:45
    Azure虚拟机由于存在临时磁盘,默认Windows为D盘,Linux为/dev/sdb1,临时盘中的数据不能长期保留,而我们使用过程中又不希望数据丢失,所以需要挂载新的数据磁盘,从Windows E盘、Linux/dev/sdc开始使用。...
  • Linux 中使用动态磁盘

    千次阅读 2006-11-22 17:12:00
    假设要扩充到 12G,那么唯一的方法就是建立一个 12G 的新分区,然后将原来的 10G 分区中的数据全部移动到新分区中,再修改接配置。这样不仅麻烦而且浪费时间。Linux 2.4 开始支持 LVM(Logical Volume Manager,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 56,560
精华内容 22,624
关键字:

linux挂在有数据的磁盘

linux 订阅