Ubuntu 20.04 硬盘分区、格式化、自动挂载、读写测试

Ubuntu 20.04 硬盘分区、格式化、自动挂载、读写测试

1. 查看分区

# 查看分区(fdisk或者lsblk)
sudo fdisk -l
sudo lsblk

2. 分区

# 分区(sdb为要分区的盘符)
sudo fdisk /dev/sdb
# 输入m可以查看fdisk的帮助信息
# 然后输入g,建立一个GPT 分区表格式(见附文)
# 输入n,建立一个新的分区
# 然后一路回车即可
# 输入w,保存分区表

# gpt分区(sdb为要分区的盘符)
sudo gdisk /dev/sdb
# 输入m可以查看gdisk的帮助信息
# 输入n,建立一个新的分区
# 然后一路回车即可
# 输入w,保存分区表

3. 格式化新分区

# 查看sdb已经多了一个sdb1分区
sudo lsblk
# 将分区格式化为ext4文件格式
sudo mkfs.ext4 /dev/sdb1

4. 挂载新分区

# 新建一个挂载文件夹
sudo mkdir -p /mnt/data
# 临时挂载
sudo mount /dev/sdb1 /mnt/data
# 解除挂载
sudo umount /dev/sdb1

5. 自动挂载新分区

# 查看并找到新建的分区,复制 UUID
sudo blkid
# 打开fstab文件,在尾部添加
sudo vim /etc/fstab
UUID=[分区id] /mnt/data ext4 defaults 0 0
# 命令生效
sudo mount -a
# 保存后,重启电脑测试
sudo reboot

6. 自动挂载nfs

# 自动挂载设置成开机自启服务
sudo vim /etc/systemd/system/mount_nfs.service

[Unit]
After=network.target
 
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/usr/bin/mount -t nfs -o defaults 10.10.10.111:/srv/nfs/share /mnt/nfs
Restart=on-failure
RestartSec=10
 
[Install]
WantedBy=multi-user.target

# 赋予权限
sudo chmod 664 /etc/systemd/system/mount_nfs.service
# 加载systemd服务,并启用service文件
sudo systemctl daemon-reload
sudo systemctl enable mount_nfs
sudo systemctl start mount_nfs.service
sudo systemctl status mount_nfs.service
sudo systemctl restart mount_nfs.service

7. 查看挂载情况

# 查看挂载情况,如下图,发现已经自动挂载
sudo df -h
# 查询指定目录的磁盘占用情况,默认是当前目录
sudo du -ach --max-depth=1 /mnt/data
- s:指定目录占用大小汇总
- h:带计量单位
- a:含文件
--max-depth=1 :子目录深度
- c:列出明细的同时,增加汇总值
# 以树状显示目录结构
sudo tree /mnt/data

8. 磁盘读写测试

使用dd工具(见附文)测试

# write测试(最终的文件大小=块大小bs*块数量count)
time dd if=/dev/zero of=/mnt/nfs/testfile bs=1M count=1024
# read测试
time dd if=/mnt/nfs/testfile of=/dev/null bs=1M

9. 附文

  1. MBR是一种用于存储硬盘分区信息的老式的分区表格格式,最早出现在1983年。它位于硬盘的第一个扇区,包含引导程序、分区表格以及磁盘签名等信息。MBR有一些限制,最多支持4个主分区或3个主分区和1个扩展分区。每个主分区或扩展分区可以包含一个逻辑卷。
  2. GPT(GUID Partition Table)是一种新的硬盘分区表格格式,最早出现在1998年。GPT使用唯一的GUID(全局唯一标识符)标识硬盘和分区,且支持最多128个分区。与MBR相比,GPT具有更好的可靠性和扩展性,可以支持大于2TB的硬盘和UEFI启动。
  3. MBR是一种旧式的分区格式,而GPT是一种更现代的分区格式。我们在选择硬盘分区格式时,需要根据计算机系统和实际需求进行选择。
  4. dd 可从标准输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件、设备或标准输出。
if=文件名:输入文件名,默认为标准输入。即指定源文件。
of=文件名:输出文件名,默认为标准输出。即指定目的文件。
#  if(input) 输入设备,/dev/zero可无穷无尽的提供0
# if=/dev/zero (输入数据全为0)
# of(output)输出设备,将数据输出到哪个位置,of
# of=/root/bucket-331/1G_{}.txt
## /dev/zero与/dev/null关系
## 1. /dev/null 无敌洞(可以向他输出任何数据)
## 2. /dev/zero 可以产出无穷无尽的零
ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。
obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节。
bs=bytes:同时设置读入/输出的块大小为bytes个字节。
cbs=bytes:一次转换bytes个字节,即指定转换缓冲区大小。
skip=blocks:从输入文件开头跳过blocks个块后再开始复制。
seek=blocks:从输出文件开头跳过blocks个块后再开始复制。
count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。
conv=<关键字>,关键字可以有以下11种:
conversion:用指定的参数转换文件。
ascii:转换ebcdic为ascii
ebcdic:转换ascii为ebcdic
ibm:转换ascii为alternate ebcdic
block:把每一行转换为长度为cbs,不足部分用空格填充
unblock:使每一行的长度都为cbs,不足部分用空格填充
lcase:把大写字符转换为小写字符
ucase:把小写字符转换为大写字符
swap:交换输入的每对字节
noerror:出错时不停止
notrunc:不截短输出文件
sync:将每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。
--help:显示帮助信息
--version:显示版本信息
  • 9
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值