内农大-大数据专业课程-Linux虚拟机技术9- 文件系统管理(FS Management:fdisk+parted;第一种为传统的底层操作方法)

Linux操作系统实验报告8 文件系统管理(FS Management:fdisk+parted;第一种为传统的底层操作方法)

知识引导:

1.课前准备

安装Xmanager组件

打开Xshell

打开foudation0 的使用ip a查看ens160的ip地址 192.168.66.128

Cmd打开dos窗口,ping 1992.168.66.128

安装xshell

给xshell登陆权限

指针上分那个就是更改配色方案

New wite我很喜欢

两个系统双向(windows<——>linux)传输文件

vim键入内容生成文件

我在servera的根下创建学号目录,然后vim生成limeng.txt文件

文件包含我的学号班级姓名:

scp 网络传输limeng.txt到我们的物理机foudation0上

登陆打开一个foudation0的窗口查看root下的文件

点击左上方新建文件传输,拖动传输文件

1.操作系统的两种启动模式:Legacy BIOS UEFI

1.1 Legacy BIOS(Basic Input/Output System,基本输入/输出系统)

在开机时需要进行自检,启动过程较复杂。且传统的BIOS无法识别GPT分区表,只能识别MBR分区表。

1.2 UEFI(Unified Extensible Firmware Interface,统一可扩展固件接口(powerup版的BIOS

直接从预启动的操作环境加载操作系统,简化开机过程有效提高启动速度。可以同时识别GPT和MBR。

2.磁盘分区表的两种类型:MBRGPT

2.1 MBR(Master Boot Record,主引导记录或主引导扇区)

MBR是计算机开机后必须读取的首个扇区,它在硬盘上的三维地址为(0柱面,0磁头,1扇区)

MBR中记录着磁盘本身的相关信息以及磁盘各个分区的大小及位置信息。

硬盘中扇区的大小一般为512个字节。*(常识)

本地硬盘启动会读取硬盘的第一个扇区(512Bytes),存放着主引导记录MBR(Master Boot Record) 

446字节的启动加载程序Bootloader

                                                                                                         64字节的磁盘分区表,由于存放每个分区信息需要16个字节,所以采取MBR结构的磁盘,最多只能有4个主分区。

                                                                                                         2字节的结束标志

注意:MBR分区方案无法支持超过2TB的磁盘容量。因为MBR分区方案使用4个字节存储分区的总扇区数,最大能表示2的32次方的扇区个数,按每个扇区512个字节计算,每个分区最大不能超过2TB

                                                                                                                                                                      2的30次方是1GB,2的32次方是4GB,512*2的32次方=512*4G=512*2*2GB=2TB

结论:MBR分区方案:最大主分区:4,分区最大空间:2TB

2.2 GPT(GUID Partition Table,全局唯一标识磁盘分区表)

是一种更先进的磁盘组织方案,是UEFI启动的磁盘组织方式,GPT有自己的分区表,且在GPT分区表的头部可自定义分区数量的最大值,可以灵活设置,不固定。例如Windows设定的GPT最大分区数量为128个。

GPT分区方案中逻辑地址采用64位二进制位表示,可以表示2的64次方个地址,近乎于一个天位数字了,目前的硬盘不可能达到,分区就更不可能了。所以分区上限突破了2TB。

另外,GPT分区方案在磁盘的末端还有一个备份分区表,保证了分区信息不容易丢失。

3.Linux下的磁盘分区及其表示方法

3.1 磁盘的表示方法

/dev/sda---第一块磁盘(针对SCSI或串口磁盘)(sd表示-scsi类型

/dev/sdb---第二块磁盘

/dev/sdc---第三块磁盘

/dev/hda,/dev/hdb,/dev/hdc,....(传统的IDE磁盘)(hd表示老式的

/dev/vda,/dev/vdb,/dev/vdc,.....(虚拟磁盘)

3.2 分区的表示方法

/dev/sda1---第一块磁盘的第一个分区

/dev/sda2---第一块磁盘的第二个分区

/dev/sdb1---第二块磁盘的第一个分区

/dev/hda1---第一块磁盘的第一个分区(传统的IDE磁盘)

3.3 MBR类型中的主分区,扩展分区和逻辑分区

一块1T的硬盘

C---400G---/dev/sda1(主)

D---100G---/dev/sda2(主)

E---100G---/dev/sda3(主)

/dev/sda4(扩展分区)

    F---100G---/dev/sda5(逻辑分区)

    G---100G---/dev/sda6(逻辑分区)

    H---100G---/dev/sda7(逻辑分区)

    I---100G---/dev/sda8(逻辑分区)

概念:透明性--windows封装底层的细节,显示最直观的内容,而linux显示底层细节

MBR分区表中的几个结论:

(重点)

-----------------------------------------------------------------------------------------------------------------------------

主分区的个数至多4个;

a.扩展分区可以理解为是一个特殊的主分区,它是一个容器,其中可以包含多个逻辑分区;

b.扩展分区的大小=各个逻辑分区大小之和+未划分的扩展分区大小;

c.真正能使用的数据分区只能是主分区和逻辑分区;

-------------------------------------------------------------------------------------------------------------------------------

d.磁盘的剩余空间=

分区个数少于4个时:磁盘的剩余空间=磁盘的总容量-已划分出的主分区容量综合 

分区个数超过4个时:磁盘的剩余空间=扩展分区-各逻辑分区之和; 扩展分区减去扩展分区顺序下面磁盘的空间

如图1

5gb-100mb-200mb-300mb=4.4gb

如图2:

4.4gb-400mb-500mb=3.5gb

---------------------------------------------------------------------------------------------------------------------------------

3.4 GPT分区表中的几个结论:

a.主分区个数不用限制为4个,可以自定义,Windows系统主分区个数定义为128个

b.单个分区容量可以超过2TB,上限2的64次方

4.为虚拟机添加一块磁盘的方法(需要提前关闭虚拟机)

(1)fdisk -l(查看底层硬件命令,-分区磁盘信息)

Device(磁盘分区名)Boot(是否为引导区)Start    End     Sectors   Size   Id   Type

/dev/vda1          *                 2048  20971486  20969439  10G   83   Linux

fdisk –l操作如下:

(在servera上进行,首先关闭servera)

添加新的硬盘操作如下图—>双击虚拟机->show virtual machine details(灯泡的图案)->virtIO Disk 1->下方add hardword->bus type(VirtIO)->finish

准备添加硬盘:

添加类型为storage的硬盘大小都为1g,我添加了两块备用:

看看成果如何:

原来有四个盘,现在多加入了俩,disk5与6

(2)lsblk(或者lsblk --fs)

NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT

vda    252:0    0  10G  0 disk

└─vda1 252:1    0  10G  0 part /

vdb    252:16   0   5G  0 disk

fdisk –l验证结果

接下来的操作分区在vde盘上

5.使用新磁盘的整体流程:

1.分区---2.更新磁盘分区表---3.格式化---4.挂载---5.使用

记住流程,下面分步进行:

6.分区的步骤:(在Servera上做实验)

6.1 fdisk分区命令的使用技巧(注意:fdisk命令只有交互式方式,没有命令方式)

下面的操作实例同时也为fdisk的详细操作距离:

例1,创建大小为100M,200M,300M,400M,500M的5个磁盘分区(MBR与GPT两种分区表类型都要测试)。

这里注意,主分区默认三个,最多四个,创建完无法创建分区,第四个开扩展分区

P查看分区信息:

#操作详解:1.创建100M的磁盘(n:顺序创建,p:主分区,回车默认分区开始的字节大小,大小+100M,创建成功)

2创建200M分区

3.如法炮制创建300M分区

#注:分区操作中默认前三个为主分区,第四个为扩展分区,至于为什么,让我慢慢告诉你:

注意——————>4.设置第四个分区仍然为主分区

  5.分区5创建失败(思考:规定的主分区呀,最多就四个,之后不管你留有多少空间——通通不顶事,都给我空出来,不能分了!所以,我们说主分区默认就仨,再往下最多一个主分区或者开扩展分区,少整那些没用的)

  6.删除第四个主分区 d 删除,是从后往前,你总不能给我主分区1直接删除了,而是从4一直删除到1噢!(删除输入分区编号:4

  7.创建扩展分区:(e),两个都选默认,直接使用剩下的!所有!空间,只有这样,通过在扩展分区下挂分区,分配扩展分区支配的空余空间才能更好的利用磁盘空间。

创建5号盘,分配400M

创建六号盘,分配500M主分区 + 扩展分区(里面分成逻辑分区1,逻辑分区2),主分区三个,那么1号分区应该用于引导系统

#扩展分区第二次不要划分大小,默认全给,创建小于扩展分区容量的两个,(n个)分区,分区大小会占用扩展分区的大小!

6.1.1 fdisk分区命令的使用技巧(MBR分区类型实例)

小技巧:交互状态时的退格删除按键是ctrl+Backspace(分情况,机房电脑好像不需要,其实我自己笔记本就不需要,直接点退格就可以了)

  1. fdisk /dev/vdf(默认分区表类型为dos,即MBR分区类型)

m   print this menu (帮助菜单:命令清单)

p   print the partition table(打印磁盘分区) 重点Disklabel type:dos(MBR,默认值,新添加的磁盘首选就是dos)或者gpt(GPT

d   delete a partition(删除分区时,必须从后往前一个一个删除)(不按顺序写乱了磁盘的话,或者乱删分区,很可能导致毁灭性的灾难!!!!!!!)

n   add a new partition(创建分区时,必须从前往后一个一个创建,不然系统启不来)

t   change a partition's system id(修改编码)

l   list known partition types(查看十六进制编码)

重要的编码:

    5  Extended (扩展分区)(不可能格式化成其他类型,别闲的没事干)

    7  HPFS/NTFS HPFS高性能文件系统)、Windows NT 下的 NT 文件系统 (NTFS)

b  W95 FAT32(传统windows系统文件类型)

82  Linux swap(交换分区:物理空间虚拟成内存)

我们尝试将二号分区格式修改成82

    83  Linux  --- xfs(reht8文件系统类型),ext4(reht7文件系统),ext3(reht6),ext2(reht5与5之前的)--(默认添加linux分区都是83,笼统的成为Linux文件类型,按要求格式化成这四种任意的一个都无所谓)

8e  Linux LVM (逻辑卷管理,课上不讲)

w   write table to disk and exit (存盘退出)

q   quit without saving changes (强制退出,不保存)

————————————注意:Diskabel type:dos--------------------------------------------------

1.表示我们的vdc磁盘的类型是dos---表示我们当前的磁盘是传统的mbr,主分区上限4个大小不超过2gb,还有类型是gpt,也就是gpt类型的磁盘,是不一样滴!

2.新磁盘默认dos,做成gpt类型磁盘需要自己操作修改!

6.1.2 fdisk分区命令的使用技巧(GPT分区类型实例)

(1)fdisk /dev/vdb

g   create a new empty GPT partition table    //GPT类型分区表

o   create a new empty DOS partition table   //MBR类型分区表

Command (m for help): g     //设置磁盘/dev/vdb分区表类型为GPT

Created a new GPT disklabel (GUID: 4518A21F-3017-324E-9B55-17753B79EF9E).

Command (m for help): p

Disk /dev/vdb: 5 GiB, 5368709120 bytes, 10485760 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

Disklabel type: gpt

Disk identifier: 4518A21F-3017-324E-9B55-17753B79EF9E

Command (m for help): n     //创建磁盘分区

Partition number (5-128, default 5):

First sector (2050048-10485726, default 2050048):

Last sector, +sectors or +size{K,M,G,T,P} (2050048-10485726, default 10485726): +500M   //设置该分区大小为500M

Created a new partition 5 of type 'Linux filesystem' and of size 500 MiB.

Command (m for help): p     //查看分区情况

Disk /dev/vdb: 5 GiB, 5368709120 bytes, 10485760 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

Disklabel type: gpt

Disk identifier: 4518A21F-3017-324E-9B55-17753B79EF9E

Device       Start     End Sectors  Size Type

/dev/vdb1     2048  206847  204800  100M Linux filesystem

/dev/vdb2   206848  616447  409600  200M Linux filesystem

/dev/vdb3   616448 1230847  614400  300M Linux filesystem

/dev/vdb4  1230848 2050047  819200  400M Linux filesystem

/dev/vdb5  2050048 3074047 1024000  500M Linux filesystem

Command (m for help): w         //写入并退出

The partition table has been altered.

Calling ioctl() to re-read partition table.

Syncing disks.

fdisk -l /dev/vdb

Disk /dev/vdb: 5 GiB, 5368709120 bytes, 10485760 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

Disklabel type: gpt

Disk identifier: 4518A21F-3017-324E-9B55-17753B79EF9E

Device       Start     End Sectors  Size Type

/dev/vdb1     2048  206847  204800  100M Linux filesystem

/dev/vdb2   206848  616447  409600  200M Linux filesystem

/dev/vdb3   616448 1230847  614400  300M Linux filesystem

/dev/vdb4  1230848 2050047  819200  400M Linux filesystem

/dev/vdb5  2050048 3074047 1024000  500M Linux filesystem

lsblk /dev/vdb --fs

NAME   FSTYPE LABEL UUID MOUNTPOINT

vdb                     

├─vdb1                  

├─vdb2                  

├─vdb3                  

├─vdb4                  

└─vdb5                  

6.2 parted分区的两种方式(仅做了解)

交互式

命令行

7 更新磁盘分区表的方法

udevadm settle   //如果该命令正确,说明分区过程正确

partprobe  (让linux内核重新读分区表)(reboot)

cat /proc/partitions(proc即时内存目录)

8 格式化磁盘分区的方法(xfs,ext4,ext3,ext2,)前四种分区得是83;(swap,82;vfat;b)  严格区分类型

注意:之前在分区时设置的文件类型并不重要,文件系统类型是由格式化时指定的类型决定的;另外,分区只有格式化以后才可以称为文件系统

(1)mkfs.xfs /dev/sde1 或者   mkfs -t xfs /dev/vde1

验证方法:

blkid

lsblk --fs /dev/vde

NAME   FSTYPE LABEL UUID                                 MOUNTPOINT

vde                                                     

├─vde1 ext4         4215fb3c-a79c-42c8-bdc8-c2ef38ad7a0d

└─vde2 xfs          05014fdc-8deb-460d-92cb-4b5d5437a850

uuid:

(2)mkfs.ext4 /dev/sdb2   或者   mkfs -t ext4 /dev/sdb2

(3)mkfs.ext3 /dev/sdb5

(4)mkfs.vfat /dev/sdb3

(注意:在使用fdisk创建/dev/sdb3时,要将其类型修改为FAT32格式)

(5)mkswap /dev/sdb6(这条命令要求swap类型;82)

(注意:在使用fdisk创建/dev/sdb6时,要将其类型修改为SWAP格式)

注意:在格式化vfat的时候,会提示-bash: mkfs.vfat: command not found

解决: yum provides mkfs.vfat 或者yum whatprovides mkfs.vfat

           yum -y install dosfstools.x86_64

----------------------------------------------------------关于UUID----------------------------------------------------

blkid---查看uuid

UUid:linux系统为底层格式化后的分区分配一个身份标识

------------------------------------------------------------------------------------------------------------------------------

9 挂载mount

格式化好的磁盘分区在Linux系统下仅仅是一个设备文件,例如/dev/vde1,/dev/vde2,不能直接使用。

只有将该设备文件绑定到一个目标目录上才可以使用(该过程称为挂载)。

9.1 通过设备文件名挂载物理分区

方法一:通过mount命令实现手动挂载

mkdir /mmm1

mount /dev/sdb2 /mmm1

mount -t ext3 /dev/vde2 /zhangsan3

查看关联的两个方法:

df -Th(要知道各个字段信息的含义)

lsblk --fs  (通过mount point字段可以查看到是否挂载到目标目录上)

cd /mmm1

touch 111.txt

mkdir 111

umount /mmm1(或者 umount /dev/sdb2)

df –Th

方法二:通过/etc/fstab文件实现开机自动挂载

vim /etc/fstab文件前三个字段的含义

设备文件名/dev/sda1      挂载目标目录/   设备文件名对应的分区的类型ext4

/dev/sdb2             /mmm1                                          ext4    defaults        0 0

df -Th

mount -a

df -Th

9.2 通过UUID挂载物理分区

blkid   只显示已格式化的分区的UUID信息

注意:各物理设备的UUID号是系统定义好的,唯一的,用户无法修改。

方法一:通过mount命令实现手动挂载

mount UUID="0ef71ac1-ac8a-4be9-821e-d98bc21e23f7" /xinguan1

方法二:通过/etc/fstab文件实现开机自动挂载

vim /etc/fstab

UUID="0ef71ac1-ac8a-4be9-821e-d98bc21e23f7" /xinguan1  ext4  defaults  0 0

mount -a

9.3  使用该分区存放数据的方法二---通过卷标挂载物理分区(已经很少使用了)

 注意:xfs,vfat,swap格式不支持卷标挂载,只有传统的ext3,ext4格式才可以使用卷标。

e2label /dev/sdb5   查看底层物理分区的卷标名称

e2label /dev/sdb5 sdbb5  设置底层物理分区的卷标名称

方法一:通过mount命令实现手动挂载

mount LABEL=sdbb5 /xinguan1

方法二:通过/etc/fstab文件实现开机自动挂载

vim /etc/fstab

LABEL=sdbb5             /xinguan1               ext4    defaults        0 0

mount -a

10 使用

在挂载好的目标目录上运行touch,mkdir等命令测试

11.在Linux系统下识别NTFS格式的U盘或移动硬盘的方法:

如果基于NTFS格式的U盘和移动硬盘在Linux系统下均无法识别。

解决方法:

登录服务器,下载ntfs相关软件包ftp://10.226.41.226/soft/ntfs-3g-2013.1.13-5.el7.x86_64.rpm到桌面。

切换路径到桌面,安装ntfs软件包(yum -y install ntfs-3g[tab])

12.大于4G的单个文件在FAT32文件系统下无法拷贝的问题:

问题:如果U盘或移动硬盘为FAT32格式,则拷贝大于4G的单个文件会报错。

解决方法:

将该磁盘在Windows下重新格式化成NTFS。

小结:(通过本次课程学到了哪些知识;在实验过程中遇到的问题及解决办法)

通过本次课程,我学习了文件系统管理(FS Management:fdisk+parted;第一种为传统的底层操作方法,第二种效果不如第一种,干脆只了解一下,深入的学习第一种就可以处理全部情况了哈哈!那么我认为首先是fdisk 命令列,添加新的磁盘之后,我们还得会挂载,会对应的挂上去,会对磁盘切分,分成几个分区,记住并且认识不同分区的特点,大小限制等等,没遇到什么问题,就是硬记吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值