linux分区与挂载
⑴ linux 新增磁盘挂载与初始化
1、分宴塌桐区
fdisk /dev/sdb
n – Create partition 新建分区
p – print partition table
d – delete a partition 删除分区
q – exit without saving the changes 退出
w – write the changes and exit. 保存并退出
2、初始化磁盘
mkfs.ext4 /dev/sdb1
3、挂载
mount /dev/sdb1 /晌坦opt/elastdocker-1.19.0/elasticsearch/data
4、系统衫枯配置重启自动挂载
⑵ linux下的挂载点和分区是什么关系
目录是分区后文件的名称。在分区之前没有目录的概念。
安装Linux系统时需要分区,在分区中可以使用许多挂载点,如“/”、“boot”、“usr”、“var”等。
分区“/”、“boot”、“usr”、“var”作为分区,即可以分成四个区域,分别挂载在上面的挂载点上,当然还有一个交换分区,这是必要的。启动、usr、var都是分区。
另外,只能分为一个“/”根分区,和一个交换分区,这样就可以安装Linux系统了,但是安装后在根目录下100以内还可以看到“usr”、“var”等名称,此时“usr”、var名称就是目录。
对比Windows可以加深对分区的理解,如Windows的c:d:e:等驱动执行器,有主分区、逻辑分区。
目录的概念也类似于Windows。与具有/根分区的Linux不同,所有的文件(设备也作为文件工作)都在/下,并且“分区”也可以在/下找到。Linux中没有分区。
完整的文件管理。/是根目录。/必须安装。/home、/usr、/boot是/下的所有目录,它们独立于分区,可以挂载在不同的分区中,也可以挂载在相同的分区(/)下。
(2)linux分区与挂载扩展阅读:
挂载raid分区
1.创建所需的分区,如下图所示。
⑶ Linux 分区新建,格式化、挂载
Linux系统有一个理念:“一切皆文件”,所以计算机的硬件在linux中也是以“文件”的形式存在于/dev目录中。
比如,光驱对应的文件是/dev/cdrom,CPU对应的文件是/dev/cpu。而硬盘对应的是/dev/sd*。第一块硬盘是/dev/sda,第二块磁盘是/dev/sdb。
IDE磁盘的设备文件采用/dev/hdx 来命名,分区则采用/dev/hdxy来命名,其中想表示磁盘(a是第一块磁盘,b是第二块磁盘,以此类推),与代表分区的号码(由1开始,1,2,3,以此类推)
SCSI设备和分区采用/dev/sdx和/dev/sdxy来命名(x和y的命名规则与IED磁盘命名规则一样)。
A、对IED接口
第一主盘:hda第一从盘:hdb 第一从盘第一分区:hdb1
B、对SCSI接口
第一主盘:sda 第一从盘:sdb 第一从盘第一分区:sdb1
但是一个磁盘通常又被分成多个分区,所以在磁盘文件的后面加上分区的序号来对应这个分区。参考下面的表格中的例子。
Linux磁盘分区与文件系统类常用命令
介绍2种分区表:
所支持的最大卷:2T (T; terabytes,1TB=1024GB)
对分区的设限:最多4个主分区或3个主分区加一个扩展分区。
MBR分区的原理:
MBR:主引导扇区
主分区表:64bytes,最多只能分四个主分区,每个主分区的记录(相关信息,比如分区大小,位置)在主分区表里占14bytes。
如 果要建多于四个的分区,就要拿出一个主分区做为扩展分区,再在扩展分区里面进行其它的分区操作。在 建扩展分区的时候会建立一张对应的扩展分区表,它记录了在这个扩展分区里的分区的相关信息;理论上它没有分区数量的限制,在扩展分区内部的分区叫做逻辑分 区,如上图中的 /dev/hda5,/dev/hda6/,/dev/hda7
格式化原理:
在 分好区后,分区里面是空的,没有任何东西。为了能让OS识别,就必须要向分区里写入相应格式的数据。
比如windows的 FAT32,NTFS,Linux的ext2,ext3,ext4
Windows/dos常用的分区工具:fdisk/partition magic/diskpart
Linux下常用的分区工具:
fdisk/sfdisk:命令行工具,各种版本和环境都能使用,包含在软件包util-linux中
diskdruid:图形化分区工具,只能在安装REDHAT系统时使用。
支持最大卷:18EB,(E:exabytes,1EB=1024TB)
每个磁盘最多支持128个分区
所以如果要大于2TB的卷或分区就必须得用GPT分区表。
Linux下fdisk工具不支持GPT,得使用另一个GNU发布的强大分区工具parted。
fdisk工具用的话,会有下面的警告信息:
下面是用parted工具对/dev/sda做GPT分区的过程:
如果我们的磁盘是2T以下的,但是分区表示GPT格式,我们也可以使用parted 命令将该分区表删除, mklabel msdos 这条命令就是用来删除 part分区 ,将GPT分区表删除后,再来使用 fdisk 建立MBR分区表,可以参考 https://www.xiaohuai.com/4870
mkfs - 支持ext2、ext3(日志)、ext4、vfat、msdos、jfs、reiserfs等
用法1:mkfs -t <fstype> <partition>
用法2:mkfs.<fstype> <partition>
ps:格式化分区之后,可以使用e2label命令给分区添加卷标
e2label 分区路径 卷标名
查看已经挂载的分区
或者
使用 mount 命令挂载
使用umount卸载分区时,可以指定挂载点,也可以指定挂载的路径, 卸载分区umount命令格式:
umount [option] special | node
或者
PS: 处理umount的时候显示 device busy?
这是因为有程序正在访问这个设备,最简单的办法就是让访问该设备的程序退出以后再umount。可能有时候用户搞不清除究竟是什么程序在访问设备,如果用户不急着umount,则可以用:
CODE:
选项 –l 并不是马上umount,而是在该目录空闲后再umount。还可以先用命令ps aux 来查看占用设备的程序PID,然后用命令kill来杀死占用设备的进程,这样就umount的非常放心了。
linux系统在启动时,会从/etc/fstab文件自动挂载分区。
如下是一个fstab文件的示例。
fstab中,每条配置信息都分为固定的6个部分
[1]: 分区路径,或者UUID
[2]: fs_file - 该字段描述希望的文件系统加载的目录点,对于swap设备,该字段为none;对于加载目录名包含空格的情况,用40来表示空格。
[3]: fs_type - 定义了该设备上的文件系统,一般常见的文件类型为ext4 (Linux设备的常用文件类型)、vfat(Windows系统的fat32格式)、NTFS、isoArray600等。在不确定的情况下可以使用auto。
[4]: fs_options - 指定加载该设备的文件系统是需要使用的特定参数选项,多个参数是由逗号分隔开来。
对于大多数系统使用"defaults"就可以满足需要。不多说。
[5]: fs_mp - 该选项被"mp"命令使用来检查一个文件系统应该以多快频率进行转储,若不需要转储就设
置该字段为0
[6]: fs_pass - 该字段被fsck命令用来决定在启动时需要被扫描的文件系统的顺序,根文件系统"/"对应该字
段的值应该为1,其他文件系统应该为2。若该文件系统无需在启动时扫描则设置该字段为0
参考
⑷ Linux-8 磁盘分区和挂载
1,最多支持4个主分区
2,系统只能安装在主分区
3,扩展分区要占一个主分区
4,MBR最大只支持2TB,但拥有最好的兼容性
1,支持无限多个主分区(但操作系统可能限制,比如windows下最多128个分区)
2,最大支持18EB的大容量(1EB=1024PB,1PB=1024TB)
3,windows7 64位以后支持gtp
1,linux来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构,linux中每个分区都是用来组成整个文件系统的一部分。
2,linux采用了一种叫”载入“的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。
1,Linux硬盘分IDE硬盘和SCSI硬盘,目前基本上是SCSI硬盘
2,对于IDE硬盘,驱动器标识符为"hdx",其中"hd"表明分区所在设备的类型,这里是指IDE硬盘了。”x“为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),”~“代表分区,前四个分区用数字1到4表示,它们是主分区或扩展分区,从5开始就是逻辑分区。例,hda3表示为第一个IDE硬盘上的第三个主分区或扩展分区,hdb2表示为第二个IDE硬盘上的第二个主分区或扩展分区。
3,对于SCSI硬盘则标识为"sdx",SCSI硬盘是用”sd“来表示分区所在设备的类型的,其余则和IDE硬盘的表示方法一样。
查看系统的分区和挂载的情况
需求:给linux系统增加一个新的硬盘,并且挂载到/home/newdisk
1,虚拟机添加硬盘
2,分区(fdisk /dev/sdb)
3,格式化(mkfs -t ext4 /dev/sdb1)
4,挂载(mount /dev/sdb1 /home/newdisk)(注:此方式是临时挂载,重启电脑后会没掉)
5,设置可以自动挂载(永久挂载):修改vim /etc/fstab 文件。
查询系统整体磁盘使用情况
查询指定目录的磁盘占用情况
-s 指定目录占用大小汇总
-h 带计量单位
-a 含文件
--max-depth=1 子目录深度
-c 列出明细的同时,增加汇总值
1,统计/home文件夹下的文件的个数
ls -l /home | grep "^-" | wc -l
2,统计/home文件夹下目录的个数
ls -l /home | grep "^d" | wc -l
3,统计/home文件夹下文件的个数,包括子文件夹里的
ls -lR /home | grep "^-" | wc -l
4,统计文件夹下目录的个数,包括文件夹里的
ls -lR /home | grep "^d" | wc -l
5,以树状显示目录结构
yum install tree
tree
⑸ Linux磁盘挂载和扩容(1)
本章我们先介绍Linux服务器磁盘挂载,下期介绍Linux磁盘扩容问题。
Linux磁盘挂载有两种情况
1. 小于2T磁盘挂载
2. 大于2T磁盘挂载
下面我们分别介绍两种情况的挂载方式
以下磁盘名称都以/dev/sdc为例
挂载小于2T的磁盘也分两种
第一种,直接挂载裸盘,此刻就不用创建分区
在这种情况下,可以直接格式化磁盘,我们这里用ext4格式,当然也可以使用xfs格式
1)格式化分区
2)挂载磁盘
在挂载磁盘之前为了防止机器重启的时候没有加载磁盘,我们需要添加配置文件
1)创建分区
在这种情况下,我们需要先将裸盘创建分区,需要使用fdisk命令
以下都是按照实际运维工作中使用的介绍,还有特殊情况可以自行搜索文档研究。
3) 挂载分区
和上面一样,挂载大于2T的磁盘也分裸盘和分区
第一种,挂载裸盘的话,和小于2T一样,不涉及分区情况,可以直接挂载,具体挂载方式可以参考小于2T的裸盘挂载方式
下面具体说一下第二种,磁盘分区挂载
这种方式已经不能使用fdisk工具了,fdisk只适合划分2T一下的磁盘,此刻需要用到的工具是parted
1)建立磁盘标签GPT
parted /dev/sdc
查看当前磁盘信息
print 可以看到磁盘还没有分区
我们这里使用创建主分区,并且使用全部磁盘
mkpart primary 0% 100%
4) 挂载磁盘
这里也参考上面的磁盘挂载,写入配置文件/etc/fstab,这里为了简便,我直接在命令行挂载了。
此时可以看到磁盘已经挂载
⑹ linux磁盘重新挂载
VMware虚拟机中,Linux系统下挂载、卸载新硬盘的方法
装载:
1、启动vm,选择vm->Settings,按向导添加一块SCSI磁盘。进入Linux系统。
2、 fdisk -l 会看到有一块新的设置,如果你先前有一块硬盘(sda1, sda3...),新加的这块应该是(/dev/sdb)。 (如果添加的第二块硬盘是IDE硬盘,应该看到hdb,如果是SCSI硬盘,看到的就是应该sdb)
[root@localhost ~]# fdisk -l
Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda3 14 1044 8281507+ 83 Linux
Disk /dev/sdb: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdb doesn't contain a valid partition table
3、分区:
[root@localhost ~]# fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.
The number of cylinders for this disk is set to 1044.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
Command (m for help): m ##在这里按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 ##:l是列出分区类型,以供我们设置相应分区的类型;
m print this menu
n add a new partition ##添加一个分区;
o create a new empty DOS partition table
p print the partition table ##p列出分区表;
q quit without saving changes ##不保存退出;
s create a new empty Sun disklabel
t change a partition's system id ##t 改变分区类型;
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): n
Command action
e extended ##扩展分区
p primary partition (1-4) ##选p建主分区
p
Partition number (1-4): 1
First cylinder (1-17849, default 1): ##注:这个就是分区的Start 值;这里最好直接按回车,如果你输入了一个非默认的数字,会造成空间浪费;
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-17849, default 17849): 8920
Using default value 500
##这个是定义分区大小的,+200M 就是大小为200M ;当然你也可以根据上面提示的单位cylinder的大小来算,然后来指定 End的数值,在fdisk –l命令中可以看到Units = cylinders of 16065 * 512 = 8225280 bytes,这个就是单位cylinder的大小,我这里选的End的数值是8920,正好是总大小的一半,71G左右
##然后再来建一个主分区
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (8921-17849, default 8921):8921
Using default value 8921
Last cylinder or +size or +sizeM or +sizeK (8921-17849, default 17849):17849
Using default value 17849
##最后保存并退出,切记,一定要保存,不然不会生效的。
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
##使用fdisk –l命令来查看磁盘状况:
[root@localhost ~]# fdisk -l
Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda3 14 1044 8281507+ 83 Linux
Disk /dev/sdb: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 8920 71649868+ 83 Linux
/dev/sdb2 8921 17849 71722192+ 83 Linux
##磁盘/dev/sdb已经被划分为2个分区,每个分区大小大概是71G左右。
##在挂载文件系统之前,需要将/dev/sdb1和/dev/sdb2重新用mkfs -t ext3 命令格式化一下,否则在挂载时会报错。
4、格式化分区:使用mkfs.ext3 /dev/sdb命令格式化磁盘 注:也可以使用mkfs -t ext3 /dev/sdb命令
[root@localhost ~]# mkfs -t ext3 /dev/sdb1 ##指将该磁盘格式化成ext3文件系统
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
1048576 inodes, 2096474 blocks
104823 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2147483648
64 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 31 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
补充:挂载
挂载文件系统,目前有两种方法:
一是通过 mount 来挂载,使用mount挂载系统,一旦系统重启之后就需要重新挂载。
二是通过/etc/fstab文件来开机自动挂载。
我把/dev/sdb1挂载到/test下
[root@localhost ~]# mkdir /test ## 首先建立挂载的目录test
(或者[root@localhost ~]# cd /
[root@localhost ~]# mkdir test
)
[root@localhost ~]# df –h ##挂载前的分区
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
6.7G 5.8G 576M 92% /
/dev/sda1 99M 12M 82M 13% /boot
tmpfs 233M 0 233M 0% /dev/shm
[root@localhost ~]# mount /dev/sdb1 /test
[root@localhost ~]# df –h ##挂载后的分区
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
6.7G 5.8G 576M 92% /
/dev/sda1 99M 12M 82M 13% /boot
tmpfs 233M 0 233M 0% /dev/shm
/dev/sdb1 7.9G 147M 7.4G 2% /test
6、通过/etc/fstab文件来开机自动挂载(不然重启电脑后系统将不会保存之前的挂载操作):
[root@localhost ~]# vi /etc/fstab
/dev/VolGroup00/LogVol00 / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
devpts /dev/pts devpts gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs defaults 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
/dev/VolGroup00/LogVol01 swap swap defaults 0 0
/dev/sdb1 /test ext3 defaults 1 1
/dev/sdb2 /test ext3 defaults 1 1
# Beginning of the block added by the VMware software
.host:/ /mnt/hgfs vmhgfs defaults,ttl=5 0 0
# End of the block added by the VMware software
第一字段:设备名,在这里表示是文件系统; 有时我们把挂载文件系统也说成挂载分区;
第二字段:文件系统的挂载点;
第三字段:文件系统类型;
第四字段:mount 命令的选项,和mount 中的-o 同理;defaults包括这些选项 rw, suid, dev, exec, auto, nouser, async;
第五字段:表示文件系统是否需要mp 备份,1是需要,0 是不需要;
第六字段: 是否在系统启动时,通过fsck磁盘检测工具来检查文件系统,1是需要,0是不需要,2是跳过;
卸载:
[root@localhost ~]# umount /dev/sdb1
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
6.7G 5.8G 576M 92% /
/dev/sda1 99M 12M 82M 13% /boot
tmpfs 233M 0 233M 0% /dev/shm
补充知识:
1. mount可以用来挂载什么:
不同的操作系统使用不同的文件系统格式。MS-DOS支持FAT16文件系统,Windows98支持FAT16、FAT32文件系 统,WindowsNT支持FAT16、NTFS文件系统,Windows2000则支持FAT16、FAT32、NTFS三种文件系统格式,现在的xp 可以支持FAT32,NTFS,现在最新版本的windows 7 引入了新的WinFS文件系统。 而 Linux差不多支持所有的文件系统格式,但一般使用ext2或ext3文件系统。很多用户使用的是windows操作系统,如果想在运行的Linux下 访问其它文件系统中的资源的话,就要用Linux mount命令来实现。
2. mount使用格式:
mount命令[-参数] [设备名称] [挂载点]
说明:
[挂载点]必须是一个已经存在的目录,这个目录可以不为空,但挂载后这个目录下以前的内容将不可用,umount以后会恢复正常。
[设备名称] 可以是一个分区,一个usb设备,光驱,软盘,网络共享等。
常见参数说明:
Mount 挂载文件系统使用帮助
参数 说明
挂载指定的设备类型:adfs, affs, autofs, coda, coherent, cramfs,
devpts, efs, ext, ext2, ext3, hfs, hpfs, iso9660, jfs, minix,
msdos, ncpfs, nfs, nfs4, ntfs, proc, qnx4, ramfs, reiserfs,
romfs, smbfs, sysv, tmpfs, udf, ufs, umsdos, vfat, xenix, xfs,
xiafs
一般文件类型,可以不需要指定就可以有相同自动检测(adfs, bfs,
cramfs, ext, ext2, ext3, hfs, hpfs, iso9660, jfs, minix, ntfs,
qnx4, reiserfs, romfs, udf, ufs, vxfs, xfs, xiafs 等文件系统),如
果探测失败,就将访问/etc/filesystems ,以指定文件系统探测。说
明:如果清楚文件系统,最好指定具体类型。探测错误将带来灾难性
的。
多个文件系统可以用“,”分割开来.
-t vfstype mount -a -t nomsdos,ext
将挂载fstab文件指定所有的文件系统,除了类型为 msdos 和 ext 的
那一些。
⑺ Linux系统分区
Linux默认可分为3个分区,分别是boot分区、swap分区和根分区。
boot分区
在linux中,boot是存储内核及在引导过程中使用文件的分区,是启动linux时使用的一些核心文件;在boot中包括了系统Kernel的配置文件、启动管理程序GRUB的目录、启动时的模块供应的主要来源Initrd文件和vmlinuz文件。
/boot分区就是操作系统的内核及在引导过程中使用的文件,一般是几年前的版本要求划分的一个区,大小为100MB左右,但现在的新版本都不需要对这个分区进行单独划分,也就是说你完全可以不分/boot。
安装Linux只要求两个基本分区,即根分区及交换分区,如果你的磁盘空间足够大,可以多划分空间给根分区,你也可以把常用的目录新建到桌面,如下载的软件包,放到桌面不影响你进入Linux系统的速度,当然这要求你有足够大的根分区。
swap分区
SWAP就是LINUX下的虚拟内存分区,它的作用是在物理内存使用完之后,将磁盘空间(也就是SWAP分区)虚拟成内存来使用
它和Windows系统的交换文件作用类似,但是它是一段连续的磁盘空间,并且对用户不可见。
需要注意的是,虽然这个SWAP分区能够作为"虚拟"的内存,但它的速度比物理内存可是慢多了,因此如果需要更快的速度的话,并不能寄厚望于SWAP,最好的办法仍然是加大物理内存。SWAP分区只是临时的解决办法.
根分区
linux根分区是系统分区的意思,系统内所有的东西都存放在根分区中,也被称为root分区;Linux是一个树形文件系统,根分区就是它的root节点,任何的目录文件都会挂在根节点以下,并且linux只有一个根,不管对硬盘分多少个区,都要将这些分区挂载到根目录底下才可以使用。
所谓根分区,说白了就是系统分区,是root分区,所有的东西都放在这里面。
Linux是一个树形文件系统,根分区就是它的root节点,任何的目录文件都会挂在根节点以下。Linux只有一个根。你可以给你的硬盘进行分区,但是,分区设备一定挂载到linux根目录下的指定位置,如/usr,/var,/home等。如果要对分区进行操作的话,只能到分区所挂载的目录中进行操作。所以,不管对硬盘分多少个区,都要将这些分区挂载到根目录底下才可以使用。