热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux磁盘及文件系统管理是怎么样的

Linux磁盘及文件系统管理是怎么样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简

Linux磁盘及文件系统管理是怎么样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

磁盘基本概念
磁盘 分区 MBR GPT

格式化好的分区都有一个 lost+found 目录

磁盘基本概念
cylinder柱面
sector扇区
head磁头

linux所有设备都被抽象为一个文件,保存在/dev下
一般名称为hda,sda   hdb,sdb
IDE设备的名称为hda
sata,scsi,sas,usb等设备的名称为sd[a-z]

不同分区用:设备名称+分区号 方式表示,如sda1、sda2

主流分区机制为MBR和GPT两种
eg.
cd /dev/
ls /dev/sda (+TAB建)
或者ls /dev/sda*

MBR master boot record  传统 (使用BIOS的PC设备)
硬盘不得超过2T

头512KB都被MBR占用
Bootstrap code area446
Partition table (for primary partitions)
  partition entry #116
  partition entry #216
  partition entry #316
  partition entry #416
Boot signature
  55h3
  AAh3
Total512

主分区<=4
一个扩展分区会占用一个主分区位置
逻辑分区<63个IDE分区和15个SCSI分区

GPT
GUID Partition Table
支持>2T
向后兼容MBR
必须在支持UEFI的硬件基础
必须64bit
Mac、Linux系统都能支持GPT分区格式
windows7 64bit,windowsServer2008 64bit 支持GPT


使用fdisk进行磁盘管理_________________________________________________

fdisk是来自IBM的老牌分区软件,几乎所有Linux系统均默认安装
fdisk是一个MBR分区工具,不可用于GPT分区
只有超级用户(root)权限可以执行fdisk
fdisk分区后需要使用partprobe让内核识别新的分区

fdisk -l磁盘分区信息
fdisk /dev/sda  对目标进行分区
p打印(显示)分区表
n创建分区
eextended
partition number(1-4):2
pprimary partition(1-4)    
partition number(1-4):1
:+2G
n
llogical(5 or over)
:+2G
p primary partition(1-4)
t修改分区ID
L
83(82.linux swap[虚拟内存])

此时所有信息只保存在内存当前,还没有写进硬盘
此时需要写入MBR分区表里
命令为:W

分区后有时候信息显示有延迟
手动来让内核更新分区表
命令为:partprobe

查看分区信息
fdisk -l
cat /proc/partitions

此时文件系统还没有创建


Linux文件系统_____________________________________________________

没有文件系统的设备为裸(raw)设备
文件系统是操作系统用以管理磁盘或分区上的文件数据使用的,创建文件系统的过程一般称之为格式化

windows下主流的文件系统是:fat32、NTFS,
Linux下主流的文件系统是:ext3、ext4

判断一个文件系统优劣通常通过以下几个方面:
支持最大分区大小
支持最大单个文件大小
支持文件名长度
日志功能
文件存取性能

命令mke2fs用以创建文件系统:
  mke2fs -t ext4 /dev/sdb1
  -b  指定文件系统块(block)大小(block是文件系统读写操作的最小单位,   默  认是4096)
  -c  建立文件系统的时候检查块损坏
  -L  指定卷标
  -j   建立文件系统日志

命令mkfs可用来快速建立文件系统:(命令简单,没有参数)
  mkfs.ext3、mkfs.ext4、mkfs.vfat
  mkfs.ext4 /dev/sdb1

命令dumpe2fs可用来查看指定文件系统的信息:
  dumpe2fs /dev/sda1

命令e2label用以为指定文件系统添加卷标:
  e2label /dev/sda1 LINUXCAST

命令fsck用以检查文件系统错误:
  fsck /dev/sda1

日志是文件系统通常都支持的功能,用以提高文件系统的稳定性及可恢复性


Linux文件系统挂载管理___________________________________

文件系统创建好之后需要挂载到系统中方可使用,windows、Mac系统会自动挂载文件系统,而Linux下一般需要手工挂载

命令mount可用来挂载文件系统:
直接敲一个mount可以显示挂载信息
mount 要挂载的设备   挂载点
mount /dev/sdb1    /mnt/     (挂载到任意位置其实都可以)
-t  指定文件系统的类型,如: -t ext3、-t vfat  
-o  指定挂载选项:
   ro,rw    只读挂载或读写挂载
   sync     不使用文件缓存,所有操作直接写入磁盘
   async    使用缓存提高文件系统读写效率
   noatime 不更新文件访问时间
   atime    更新文件访问时间
   remount  重新挂载

you must specify the filesysten type?挂载出错
回答:
1.先用vgscan 
2.vgchange -ay
3.lvscan
4.mount
到第三步的时候如果正常会显示出两块硬盘的lv状态都是active,此时再
#mount -t ext3 /dev/VGname/LVname /mnt/cdrom

命令umount用以卸载一个挂载的文件系统
umount 挂载源或挂载点
umount /dev/sdb1 | /mnt

可以将挂载配置写入/etc/fstab中以实现自动挂载

命令fuser可查看某文件系统中正在使用的文件
fuser -m /mnt

命令lsof可查看正在被使用的文件
lsof /mnt

自动挂载
修改文件/etc/fstab定义系统启动自动挂载
格式
/dev/sda3/mntext4  defaults00
需要挂载的设备挂载点文件系统  挂载选项dump、fsck相关选项

要挂载的设备也可以使用LABEL进行标识,使用LABEL+LINUXTEST取代/dev/sda3
e2label /dev/sdb1显示卷标
e2label /dev/sdb1 /mm   设置卷标
mount -a 命令会挂载所有fstab中定义的自动挂载项

关于Linux磁盘及文件系统管理是怎么样的问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程笔记行业资讯频道了解更多相关知识。


推荐阅读
  • 秒建一个后台管理系统?用这5个开源免费的Java项目就够了
    秒建一个后台管理系统?用这5个开源免费的Java项目就够了 ... [详细]
  • ### 优化后的摘要本学习指南旨在帮助读者全面掌握 Bootstrap 前端框架的核心知识点与实战技巧。内容涵盖基础入门、核心功能和高级应用。第一章通过一个简单的“Hello World”示例,介绍 Bootstrap 的基本用法和快速上手方法。第二章深入探讨 Bootstrap 与 JSP 集成的细节,揭示两者结合的优势和应用场景。第三章则进一步讲解 Bootstrap 的高级特性,如响应式设计和组件定制,为开发者提供全方位的技术支持。 ... [详细]
  • 利用ZFS和Gluster实现分布式存储系统的高效迁移与应用
    本文探讨了在Ubuntu 18.04系统中利用ZFS和Gluster文件系统实现分布式存储系统的高效迁移与应用。通过详细的技术分析和实践案例,展示了这两种文件系统在数据迁移、高可用性和性能优化方面的优势,为分布式存储系统的部署和管理提供了宝贵的参考。 ... [详细]
  • Java中高级工程师面试必备:JVM核心知识点全面解析
    对于软件开发人员而言,随着技术框架的不断演进和成熟,许多高级功能已经被高度封装,使得初级开发者只需掌握基本用法即可迅速完成项目。然而,对于中高级工程师而言,深入了解Java虚拟机(JVM)的核心知识点是必不可少的。这不仅有助于优化性能和解决复杂问题,还能在面试中脱颖而出。本文将全面解析JVM的关键概念和技术细节,帮助读者全面提升技术水平。 ... [详细]
  • 本文介绍了 Go 语言中的高性能、可扩展、轻量级 Web 框架 Echo。Echo 框架简单易用,仅需几行代码即可启动一个高性能 HTTP 服务。 ... [详细]
  • PHP 5.5.31 和 PHP 5.6.17 安全更新发布
    PHP 5.5.31 和 PHP 5.6.17 已正式发布,主要包含多个安全修复。强烈建议所有用户尽快升级至最新版本以确保系统安全。 ... [详细]
  • 微服务优雅上下线的最佳实践
    本文介绍了微服务上下线的正确姿势,避免使用 kill -9 等粗暴手段,确保服务的稳定性和可靠性。 ... [详细]
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • 高端存储技术演进与趋势
    本文探讨了高端存储技术的发展趋势,包括松耦合架构、虚拟化、高性能、高安全性和智能化等方面。同时,分析了全闪存阵列和中端存储集群对高端存储市场的冲击,以及高端存储在不同应用场景中的发展趋势。 ... [详细]
  • HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送www方式的数据。HTTP协议采用了请求响应模型。客服端向服务器发送一 ... [详细]
  • 本文详细介绍了如何在Linux系统(以CentOS为例)上彻底卸载Zimbra邮件系统,包括停止服务、删除文件和用户等步骤。 ... [详细]
  • 在《Cocos2d-x学习笔记:基础概念解析与内存管理机制深入探讨》中,详细介绍了Cocos2d-x的基础概念,并深入分析了其内存管理机制。特别是针对Boost库引入的智能指针管理方法进行了详细的讲解,例如在处理鱼的运动过程中,可以通过编写自定义函数来动态计算角度变化,利用CallFunc回调机制实现高效的游戏逻辑控制。此外,文章还探讨了如何通过智能指针优化资源管理和避免内存泄漏,为开发者提供了实用的编程技巧和最佳实践。 ... [详细]
  • 本文详细介绍了如何在Java Web服务器上部署音视频服务,并提供了完整的验证流程。以AnyChat为例,这是一款跨平台的音视频解决方案,广泛应用于需要实时音视频交互的项目中。通过具体的部署步骤和测试方法,确保了音视频服务的稳定性和可靠性。 ... [详细]
  • 在Linux环境下编译安装Heartbeat时,常遇到依赖库缺失的问题。为确保顺利安装,建议预先通过yum安装必要的开发库,如glib2-devel、libtool-ltdl-devel、net-snmp-devel、bzip2-devel和ncurses-devel等。这些库是编译过程中不可或缺的组件,能够有效避免编译错误,确保Heartbeat的稳定运行。 ... [详细]
  • 进程(Process)是指计算机中程序对特定数据集的一次运行活动,是系统资源分配与调度的核心单元,构成了操作系统架构的基础。在早期以进程为中心的计算机体系结构中,进程被视为程序的执行实例,其状态和控制信息通过任务描述符(task_struct)进行管理和维护。本文将深入探讨进程的概念及其关键数据结构task_struct,解析其在操作系统中的作用和实现机制。 ... [详细]
author-avatar
66桀骜不驯_537
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有