先养养眼 1.创建分区:fdisk工具用来帮助管理安装在系统上的任何存储设备的分区。它是交互式程序,允许你输入命令来逐步完成硬盘分区操作。使用它需要有超级用户权限和指定要分区的存储设备的设备名。Linux采用了一种标准格式来为硬盘分配设备名称。对于老式的IDE驱动器,Linux使用的是/dev/hdx。其中x表示一个字母,从a开始(第一个驱动器是a,第二个驱动器是b)。对于SATA驱动器和SCSI驱动器,Linux使用的是/dev/sdx。root@wsx-ubuntu:/home/wsx# fdisk /dev/sdsda sda1 sda2 sda3 sda4 sda5 sda6 sdb sdb1 sdb2 sdb3 sdb4root@wsx-ubuntu:/home/wsx# fdisk /dev/sdaWelcome to fdisk (util-linux 2.27.1).Changes will remain in memory only, until you decide to write them.Be careful before using the write command.命令(输入 m 获取帮助): p #显示分区详细信息Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectorsUnits: sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 4096 bytesI/O size (minimum/optimal): 4096 bytes / 4096 bytesDisklabel type: gptDisk identifier: 273EEEA8-0192-4208-BB82-74914AEB9E17设备 Start 末尾 扇区 Size 类型/dev/sda1 2048 485517311 485515264 231.5G Microsoft basic data/dev/sda2 485517312 1329291263 843773952 402.4G Microsoft basic data/dev/sda3 1534093312 1953521663 419428352 200G Microsoft basic data/dev/sda4 1329291264 1330341887 1050624 513M EFI System/dev/sda5 1330341888 1517514751 187172864 89.3G Linux filesystem/dev/sda6 1517514752 1534093311 16578560 7.9G Linux swapPartition table entries are not in disk order.命令(输入 m 获取帮助): m #显示帮助和各命令含义Help:Genericd delete a partitionF list free unpartitioned spacel list known partition typesn add a new partitionp print the partition tablet change a partition typev verify the partition tablei print information about a partitionMiscm print this menux extra functionality (experts only)ScriptI load disk layout from sfdisk script fileO dump disk layout to sfdisk script fileSave & Exitw write table to disk and exitq quit without saving changesCreate a new labelg create a new empty GPT partition tableG create a new empty SGI (IRIX) partition tableo create a new empty DOS partition tables create a new empty Sun partition table通过n我们可以创建新的分区,分区可以按主分区或扩展分区创建。2.创建文件系统将数据存储到分区之前,我们必须用某种文件系统对其进行格式化,这样Linux才能使用它。我们在使用Windows常见的为NTFS文件系统。创建文件系统的命令行程序3.工具用途mkefs创建一个ext文件系统mke2fs创建一个ext2文件系统mkfs.ext3创建一个ext3文件系统mkfs.ext4创建一个ext4文件系统mkreiserfs创建一个ReiserFS文件系统jfs_mkfs创建一个JFS文件系统mkfs.xfs创建一个XFS文件系统mkfs.zfs创建一个ZFS文件系统mkfs.btrfs创建一个Btrfs文件系统注意,并非所有的命令工具都默认安装了,我们可以通过type命令4.查询:root@wsx-ubuntu:/home/wsx# type mkfs.ext4mkfs.ext4 是 /sbin/mkfs.ext4root@wsx-ubuntu:/home/wsx# type mkfs.btrfsbash: type: mkfs.btrfs: 未找到所有的系统命令都允许通过不带选项的简单命令来创建一个默认的文件系统,比如Ubuntu中用的ext4:$sudo mkfs.ext4 /dev/sdb1为分区创建了文件系统之后,下一步是将它挂载到虚拟目录的某个挂载点,这样就可以将数据存储在新文件系统中了。我们可以将文件系统挂载到虚拟目录中需要额外空间的任何位置。$ls /mnt$sudo mkdir /mnt/my_partition$ls -al /mnt/my_partition$$ls -dF /mnt/my_partition/mnt/my_partition/$sudo mount -t ext4 /dev/sdb1 /mnt/my_partition#指明挂载及文件类型$ls -al /mnt/my_partition这种方式效果为临时挂载,我们可以将其添加到/etc/fstab文件中让系统自动挂载。5.文件系统的检查和修复fsck命令能够检查和修复大部分类型的Linux文件系统。命令格式为fsck options filesystem可以列出多个要检查的文件系统。文件系统可以通过设备名、在虚拟目录中的挂载点以及分配给文件系统的唯一UUID值来引用。6.选项参考Emergencyhelp: -pAutomaticrepair(noquestions) -n Makenochangestothe filesystem -y Assume"yes"toall questions -cCheckforbad blocksandaddthemtothe badblocklist-fForcechecking eveniffilesystemismarked clean -v Be verbose -b superblockUsealternative superblock -BblocksizeForceblocksizewhenlookingforsuperblock -j external_journalSetlocationoftheexternaljournal -l bad_blocks_fileAddtobadblockslist-L bad_blocks_fileSetbadblockslist只能在未挂载的文件系统上运行fsck命令。当我们需要检查挂载了的文件系统时,我们系统先卸载该文件系统,检查后重新挂载即可。7.逻辑卷管理Linux逻辑卷管理器(LVM)软件包可以将另一个硬盘上的分区加入已有的文件系统,动态地添加硬盘空间。它可以让我们在无需重建整个文件系统的情况下,轻松地管理磁盘空间。逻辑卷管理的核心在于如何处理安装在系统上的硬盘分区。在逻辑卷管理的世界里,硬盘分区称作物理卷(PV)。每个物理卷都会映射到硬盘上特定的物理分区。多个物理卷集中在一起可以形成一个卷组(VG)。整个结构中的最后一层是逻辑卷(LV)。逻辑卷为Linux提供了创建文件系统的分区环境,作用类似于Linux中的物理硬盘分区。Linux系统将逻辑卷视为物理分区。上面理解来说,我们实际的物理硬盘可以分为不同的物理分区,这些分区对应着物理卷的概念,所有的物理卷形成了一个卷组。这个卷组为逻辑分区提供了一个平台,我们可以根据需求把卷组划分为不同的逻辑分区,它们对应着挂载在系统上的文件目录。对于linux系统而言,逻辑卷就是它进行文件操作的“物理分区”,而实际上,这些分区由真实的物理卷映射而成。Linux中的LVMLinux中的LVM有两个版本:LVM1: 只能用于Linux内核版本2.4,它仅提供基本的逻辑卷管理功能LVM2: LVM的更新版本,可以适用于Linux内核版本2.6。LVM2提供了好用的功能:快照:Linux LVM允许我们在逻辑卷在线的状态下将其复制到另一个设备。快照允许我们在复制的同时,保证允许关键任务的服务器继续工作。LVM1只创建只读快照,LVM2支持创建可读可写快照。条带化:有了条带化,可以跨多个物理硬盘创建逻辑卷。镜像:镜像是一个实时更新的逻辑卷的完整副本,当我们创建镜像逻辑卷时,LVM会将原始逻辑卷同步到镜像副本中。使用LVM定义物理卷:通过fdisk命令创建分区后,用t命令改变分区类型。比如之前创建了/dev/sdb1分区,然后接上t#改变分区类型8e#表示这个分区将被用作LVM系统的一部分,而不是一个直接的文件系统p#显示详细信息w#保存用分区创建实际的物理卷$sudo pvcreate /dev/sdb1#结果显示成功即可,如果pvcreate命令不正常,可能是lvm2包没有安装好查看$sudo pvdisplay /dev/sdb1创建卷组:可以将所有可用的物理卷加到一个卷组,也可以结合不同的物理卷创建多个卷组。使用vgcreate命令$sudo vgcreate Vol1 /dev/sdb1#创建名为Vo11的卷组#同样地,可以用vgdisplay显示卷组细节创建逻辑卷:使用lvcreate命令创建文件系统:运行完lvcreate命令之后,逻辑卷就产生了,但它还没有文件系统。我们需要用相应的命令来创建文件系统:$sudo mkfs.ext4 /dev/Vol1/lvtest#lvtest为创建的逻辑卷在创建了新的文件系统后,可以用标准Linux mount命令进行挂载。8.修改LVMLinux LVM包的常见命令| 命令 | 功能 || -------- | --------- || vgchange | 激活和禁用卷组 || vgremove | 删除卷组 || vgextend | 将物理卷加到卷组 || vgreduce | 从卷组中删除物理卷 || lvextend | 增加逻辑卷的大小 || lvreduce | 减小逻辑卷的大小 |