我是靠谱客的博主 无辜白开水,最近开发中收集的这篇文章主要介绍【linux】管理基本存储,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

磁盘分区:

为了实验,给虚拟机添加几个虚拟硬盘。

sata类型:5G,sata类型:3G,nvme类型:5G

[root@localhost redhat]# lsblk

NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda             8:0    0    5G  0 disk 
sdb             8:16   0    3G  0 disk 
sr0            11:0    1  9.4G  0 rom  /run/media/redhat/RHEL-8-4-0-BaseOS-x86_6
nvme0n1       259:0    0   20G  0 disk 
├─nvme0n1p1   259:1    0    1G  0 part /boot
└─nvme0n1p2   259:2    0   19G  0 part 
  ├─rhel-root 253:0    0   17G  0 lvm  /
  └─rhel-swap 253:1    0    2G  0 lvm  [SWAP]
nvme0n2       259:3    0    5G  0 disk 

Linux系统中,对于磁盘分区的管理,常用命令为fdisk,gdisk,parted。通常情况下,parted命令一般只用在自动化脚本功能中使用。

磁盘的分区依赖于分区表。

mbr与gpt分布表( 见鸟哥linux P70)

目前fdisk命令支持mbr分区表磁盘和gpt分区表磁盘,gdisk一般只用作于gpt分区表磁盘或者是将mbr转gpt使用。

无论是fdisk还是gdisk,在操作磁盘的时候,均是在内存空间进行模拟。

[root@localhost redhat]# fdisk /dev/sdb

Welcome to fdisk (util-linux 2.32.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x46e0c955.

Command (m for help): 
Help:

  DOS (MBR)
   a   toggle a bootable flag
   b   edit nested BSD disklabel
   c   toggle the dos compatibility flag

  Generic
   d   delete a partition
   F   list free unpartitioned space
   l   list known partition types
   n   add a new partition
   p   print the partition table
   t   change a partition type
   v   verify the partition table
   i   print information about a partition

  Misc
   m   print this menu
   u   change display/entry units
   x   extra functionality (experts only)

  Script
   I   load disk layout from sfdisk script file
   O   dump disk layout to sfdisk script file

  Save & Exit
   w   write table to disk and exit
   q   quit without saving changes

  Create a new label
   g   create a new empty GPT partition table
   G   create a new empty SGI (IRIX) partition table
   o   create a new empty DOS partition table
   s   create a new empty Sun partition table
Command (m for help): p
Disk /dev/sdb: 3 GiB, 3221225472 bytes, 6291456 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: dos
Disk identifier: 0x46e0c955

n:添加一个分区

fdisk /dev/sdb

n,defalut,+1G,w

添加两个分区(sdb1,sdb2)每个分区大小为1G

w:保存修改   d:删除一个分区 

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

安装文件系统:

安装文件系统的本质是格式化。分区上面不能直接存放文件,需要由文件系统才可以。

操作系统访问存储设备中的数据,是通过调用文件系统来实现的。

mkfs.+两次tab

[root@localhost redhat]# mkfs.
mkfs.cramfs  mkfs.ext3    mkfs.fat     mkfs.msdos   mkfs.xfs     
mkfs.ext2    mkfs.ext4    mkfs.minix   mkfs.vfat 

常用ext4,xfs。

[root@localhost redhat]# mkfs.ext4 /dev/sdb1
mke2fs 1.45.6 (20-Mar-2020)
Found a dos partition table in /dev/sdb1
Proceed anyway? (y,N) y
Creating filesystem with 262144 4k blocks and 65536 inodes
Filesystem UUID: f8a0e0a8-de5c-4f5e-8792-a2cf56486de8
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

 linux操作系统上的文件系统有block和inodes两个数值

●block决定了存放的文件数据的大小

●inodes决定了存放的文件数量的多少

当有了文件系统之后,就可以进行挂载操作

[root@localhost redhat]# mkdir -p /mnt/data
[root@localhost redhat]# mount /dev/sdb1 /mnt/data
[root@localhost redhat]# df -TH
Filesystem            Type      Size  Used Avail Use% Mounted on
devtmpfs              devtmpfs  908M     0  908M   0% /dev
tmpfs                 tmpfs     939M     0  939M   0% /dev/shm
tmpfs                 tmpfs     939M   10M  929M   2% /run
tmpfs                 tmpfs     939M     0  939M   0% /sys/fs/cgroup
/dev/mapper/rhel-root xfs        19G  5.6G   13G  31% /
/dev/nvme0n1p1        xfs       1.1G  255M  810M  24% /boot
tmpfs                 tmpfs     188M  4.8M  183M   3% /run/user/1000
/dev/sr0              iso9660    11G   11G     0 100% /run/media/redhat/RHEL-8-4-0-BaseOS-x86_64
/dev/sdb1             ext4      1.1G  2.7M  951M   1% /mnt/data

交换分区:

linux系统上面会在硬盘设备上划分特定的一部分区域用作于交换分区(swap),用于存放内存空间中不常用的一些冷数据。

交换分区可以保证Linux系统在运行过程中,防止出现因为物理内存不够用导致程序直接被中断的可能。

交换分区使用特殊的文件系统,为swap文件系统,使用命令mkswap创建

[root@localhost redhat]# mkswap /dev/sdb2
Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes)
no label, UUID=10ff6bad-01f1-4735-8933-b22e407d8198

 free -h:查看系统的memory,swap

[root@localhost redhat]# free -h
              total        used        free      shared  buff/cache   available
Mem:          1.7Gi       1.1Gi        83Mi        14Mi       624Mi       538Mi
Swap:         2.0Gi       7.0Mi       2.0Gi

swapon:挂载交换分区

[root@localhost redhat]# swapon /dev/sdb2
[root@localhost redhat]# free -h
              total        used        free      shared  buff/cache   available
Mem:          1.7Gi       1.1Gi        85Mi        14Mi       622Mi       537Mi
Swap:         3.0Gi       7.0Mi       3.0Gi

swapoff :卸载交换分区

[root@localhost redhat]# swapoff /dev/sdb2
[root@localhost redhat]# free -h
              total        used        free      shared  buff/cache   available
Mem:          1.7Gi       1.1Gi        90Mi        14Mi       614Mi       538Mi
Swap:         2.0Gi       6.0Mi       2.0Gi

最后

以上就是无辜白开水为你收集整理的【linux】管理基本存储的全部内容,希望文章能够帮你解决【linux】管理基本存储所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(67)

评论列表共有 0 条评论

立即
投稿
返回
顶部