1、磁盘格式化的相关操作
需要准备的软件是fdisk、parted、lsblk,它俩的区别分别是如下。
fdisk
- 适用于简单的磁盘分区场景,特别是对小于 2TB 磁盘进行基本分区操作,如在普通个人电脑上安装操作系统时,划分系统分区、交换分区和数据分区等基础操作。它的简单易用性使得在这些场景下能够快速完成分区任务。
parted
- Parted是一个自由软件,用于创建、删除、修改分区。它支持多种文件系统,如ext2、ext3、ext4、FAT、NTFS等。Parted可以在运行Linux系统的计算机上执行分区操作,也可以在Windows系统的启动盘中执行。更适合用于复杂的磁盘分区管理,包括大容量磁盘分区(大于 2TB)、需要灵活调整分区大小或布局的情况,以及需要精确控制分区对齐等高级分区操作的场景。
lsblk
- 主要用于列出系统中的块设备信息,包括磁盘(如
/dev/sda
、/dev/sdb
等)、分区(如/dev/sda1
、/dev/sda2
等)、虚拟设备(如 LVM 逻辑卷对应的设备)等。它会以树状结构清晰地展示设备之间的关系。
1)安装命令
安装fdisk命令:
yum install gdisk -y
检查是否安装完成:
fdisk 或
fdisk -l 显示磁盘分区信息(包括磁盘设备名称、分区起始和结束位置、分区类型等内容)
安装parted命令:
yum install parted
检测是否安装命令:
parted --version
2)使用fdisk进行磁盘分区和挂载
1、查看硬盘信息
进行分区之前先需要知道你的硬盘基础信息,才能进行分区和挂载等操作。使用命令如下:
lsblk
可以列出当前系统中所有磁盘的基本信息,具体信息如下:
也可以使用下面命令
lsblk -f
查看块设备上的文件系统相关信息。这包括文件系统类型(如 ext4、xfs、NTFS 等)、文件系统的 UUID(通用唯一识别码)以及挂载点等内容。
2、选择需要进行操作的硬盘
更具刚才知道的硬盘信息进行操作,
注意:每个人的硬盘 “分区” 都有所区别使用请更具自己的位置进行操作。
centos 7 硬盘可以在 /dev
的文件目录下,看见你硬盘的设备名称。
输入下面命令进入fdisk
的命令行界面中:
fdisk /dev/sde
PS:因为我这硬盘较多就先把500G的盘先进行分区。
3、创建分区
在fdisk
的命令行界面中,
我们需要更具它的命令来进行对硬盘的分区,具体的命令操作意思如下。
如果原先是有分区的可以先使用d
进行删除分区在添加新分区。
这里我先查看当前硬盘的基础信息。知道了目前磁盘的位置和大小等信息。
p
在进行添加分区操作,
n
此时注意,没有特别需求直接回车就行,不要进行更改。PS: 如果不小心填错可以进行最开始的删除分区操作,输入d
。
最后输入
w
进行保存之前的操作就行。
可以看看我这里的操作。
4、格式化分区
创建完分区后,并不是就结束了还需要格式化分区。以下命令将格式化刚刚创建的ext4分区:
mkfs.ext4 /dev/sde1
区别:更适合于明确知道要创建ext4文件系统的场景。如果只是针对ext4文件系统进行操作,这种命令格式更加简洁明了,直接表明了意图。而且对于一些不熟悉mkfs通用命令格式或者只是偶尔创建ext4文件系统的用户来说,mkfs.ext4命令更容易理解和使用。
sudo mkfs -t ext4 /dev/sde1
区别:适用于需要在同一命令行工具中创建多种不同类型文件系统的情况。例如,如果需要频繁地在不同设备上创建ext3、ext4、xfs等多种文件系统,使用mkfs命令并通过-t选项来指定文件系统类型会更加方便。这种格式也更符合一些脚本编写的习惯,因为可以通过变量来动态地指定文件系统类型。
注意:输入y,进行分区操作
5、创建挂载点
在挂载分区之前,我们需要创建挂载点。因为我是做种用,所以就随便找了能用的地方就创建了,例如:
mkdir /mnt/500MB
6、挂载分区
接下来,需要把前面创建好的sde分区挂载到刚才创建的500MB的文件夹上。
6.1.临时挂载分区
把sde挂载到 /mnt/500MB
上面,但是命令有两种但是每种都有区别,请按照自身需求使用,这里推荐第一种。
mount /dev/sde1 /mnt/500MB
- 是日常磁盘管理和使用中最常见的挂载方式。在服务器环境中,用于挂载不同用途的分区,如系统分区、数据分区、日志分区等;在桌面系统中,用于挂载用户数据分区、外部存储设备的分区等,以方便用户对不同类型的数据进行分类存储和访问。
mount /dev/sde /mnt/500MB
- 适用于一些特殊的存储设备或简单的存储需求。例如,在测试新的磁盘设备或者对磁盘进行低级格式化后的首次挂载场景下,可能会直接挂载整个磁盘。另外,对于一些专门的存储系统,如某些基于磁盘镜像的存储方案,可能会直接挂载整个磁盘镜像来进行数据恢复或访问。
6.1.2.检测挂载是否成功
查看磁盘信息,确认挂载新磁盘是否成功,命令如下:
df
如果挂载成功,会出现如下图这样的界面。
6.2.永久挂载分区
永久挂载分区的意思是:设置开机启动自动挂载。
新创建的分区不能开机自动挂载,每次重启机器都要手动挂载。
设置开机自动挂载需要修改/etc/fstab文件 ;命令如下:
vim /etc/fstab
打开后,在最后一行加入以下代码:PS: 我是用的是下面这行代码,因为存放的只是用于保种的文件,如果是重要文件可以更具下面的提示来选择。
/dev/sde1 /mnt/500MB ext4 defaults 0 0
注意:再添加代码时有两种方法更具自身需求添加
/dev/sde1 /mnt/500MB ext4 defaults 0 1
系统在启动时会相对较早地检查/dev/sde1
这个分区的文件系统完整性。如果文件系统出现问题,如文件系统损坏或者磁盘错误,fsck
工具会尝试在启动过程中对其进行修复。这种设置适用于存储重要数据或者系统关键文件的分区,例如系统的日志分区或者关键的应用程序数据分区,因为及时检查和修复可以减少系统故障的风险。
/dev/sde1 /mnt/500MB ext4 defaults 0 0
系统启动时不会自动检查这个分区的文件系统。这可以加快系统启动速度,因为减少了文件系统检查的步骤。这种设置适合那些不太可能出现文件系统错误的分区,或者是那些可以在系统运行过程中手动进行检查的分区。例如,一些临时数据存储分区或者用户可移动存储设备挂载的分区,在需要时可以手动运行fsck
来检查文件系统的状态。
6.3.卸载分区
6.3.1.检查分区使用情况:
首先,使用lsof
命令来查看是否有进程正在使用/mnt/500MB
挂载点对应的分区(假设分区为)/dev/sde1
在终端中输入:
lsof +D /mnt/500MB
这个命令会列出所有正在使用/mnt/500MB
目录及其子目录下文件的进程。如果有输出,需要先关闭这些进程,才能顺利卸载分区。如果没有输出,或者可以安全地终止这些进程后,可以进行下一步。
6.3.2.卸载分区
使用umount
命令来卸载分区。在终端中输入:
umount /mnt/500MB
- 如果分区没有被其他进程占用,这个命令会成功卸载分区。但是,如果分区正在被使用,可能会收到类似 “device is busy”(设备忙)的错误信息。如果遇到这种情况,可以尝试以下操作:
使用
-l
选项(懒惰卸载):在终端中输入umount -l /mnt/500MB
这个选项会立即断开文件系统与挂载点之间的连接,并且在所有使用该文件系统的进程结束后,清理相关资源。不过这种方式可能会在一段时间内使系统处于一种不太稳定的状态,因为实际上文件系统可能还没有完全从内存中卸载。
使用
-f
选项(强制卸载):在终端中输入umount -f /mnt/500MB
这个选项会强制卸载文件系统,但是可能会导致正在使用该分区的进程出现错误。所以在使用这个选项之前,一定要确保不会对系统或正在运行的重要程序造成损害,并且要清楚可能会丢失正在被写入的数据。
6.3.3.验证卸载是否成功
可以通过df -h
命令来检查分区是否已经卸载。如果/mnt/500MB
对应的分区不再出现在df -h
的输出列表中,那么说明分区已经成功卸载。之后就可以在parted
等工具中对该分区进行操作,如删除分区等操作,但要注意操作分区可能会导致数据丢失,务必确保数据已经备份。
3)使用Parted进行磁盘分区和挂载
基本需要的操作和前面差不多,但命令不同,让我们开始吧!!
具体描述我就简略了
1、查看硬盘信息
sudo parted -l
这里我需要对/dev/sdc
硬盘进行操作
2、选择要操作的硬盘
sudo parted /dev/sdc
具体的功能如下:
align - check TYPE N
- 功能:用于检查分区
N
的对齐情况,TYPE
参数可以是min
(最小对齐)或者opt
(最优对齐)。分区对齐对于磁盘性能,特别是在使用高级存储技术(如 RAID 阵列)或者固态硬盘(SSD)时非常重要。如果分区没有正确对齐,可能会导致读写性能下降。
help [COMMAND]
- 功能:如果不指定
COMMAND
,则打印parted
工具的一般帮助信息,包括所有可用命令的列表和简要说明。如果指定了COMMAND
,则会显示该特定命令的详细帮助信息,例如命令的语法、参数含义和示例等。
mklabel,mktable LABEL - TYPE
- 功能:用于创建新的磁盘标签(即分区表),
LABEL - TYPE
是分区表类型,常见的有msdos
(适用于传统的 BIOS 引导的 MBR 分区方式)和gpt
(适用于 UEFI 引导的 GPT 分区方式,支持大容量磁盘和更多分区)。这个操作会清除磁盘上原有的分区表和分区信息,所以要谨慎使用。
mkpart PART - TYPE [FS - TYPE] START END
- 功能:用于创建一个分区。
PART - TYPE
是分区类型,如primary
(主分区)、logical
(逻辑分区)等;[FS - TYPE]
是文件系统类型,这是可选参数,用于指定分区格式化后的文件系统类型(如ext4
、xfs
等),不过这个参数只是一个参考,实际的文件系统格式化还需要使用其他工具;START
和END
是分区的起始和结束位置,可以使用不同的单位(如字节、扇区、百分比等)来指定,具体单位可以通过unit
命令设置。
name NUMBER NAME
- 功能:用于给分区
NUMBER
命名为NAME
。分区名称可以帮助用户更方便地识别和管理分区。
print [devices|free|list,all|NUMBER]
- 功能:这是一个用于显示信息的命令。如果不指定参数,会显示分区表信息,包括每个分区的编号、大小、文件系统类型(如果已格式化)等。
devices
参数用于显示系统中所有可用的磁盘设备信息;free
参数用于显示磁盘上未分配的空闲空间信息;list,all
会显示所有找到的分区信息,包括隐藏分区等;NUMBER
参数用于显示特定编号分区的详细信息。
quit
- 功能:用于退出
parted
程序。
rescue START END
- 功能:用于尝试恢复在
START
和END
位置附近丢失的分区。当分区表损坏或者分区信息丢失时,可以使用这个命令来尝试找回分区。不过这个操作并不一定能保证成功恢复分区,具体效果取决于分区丢失的原因和磁盘的实际状态。
resizepart NUMBER END
- 功能:用于调整分区
NUMBER
的大小,END
参数指定分区调整后的结束位置。这个操作可以在不丢失分区数据的情况下(在一定条件下)对分区大小进行扩容或者缩容。不过,这个操作有一定风险,如果操作不当可能会导致数据丢失,并且在某些文件系统上可能不支持在线调整大小,需要先卸载分区。
rm NUMBER
- 功能:用于删除分区
NUMBER
。这是一个危险的操作,因为删除分区会导致分区上的所有数据永久丢失,所以在执行此操作之前一定要确保数据已经备份或者不再需要。
select DEVICE
- 功能:用于选择要编辑的磁盘设备。在系统中有多个磁盘设备时,需要先选择要操作的磁盘,然后才能进行分区相关的操作,如创建分区、删除分区等。
disk_set FLAG STATE
- 功能:用于改变所选磁盘设备的
FLAG
标志状态。FLAG
是一个磁盘属性标志,STATE
是要设置的状态(如on
或off
)。不同的FLAG
有不同的含义,例如有些标志可能与磁盘的写保护、只读等状态相关。
disk_toggle [FLAG]
- 功能:用于切换所选磁盘设备上
FLAG
状态。如果不指定FLAG
,则会列出所有可以切换的磁盘标志及其当前状态。这个命令和disk_set
命令类似,但更侧重于快速切换状态,而不是明确设置为某个特定状态。
set NUMBER FLAG STATE
- 功能:用于改变分区
NUMBER
的FLAG
标志状态。和disk_set
命令类似,不过这个是针对分区的属性标志进行设置,FLAG
是分区属性标志,STATE
是要设置的状态(如on
或off
)。分区标志可以用于控制分区的一些特性,如分区是否可引导等。
toggle [NUMBER [FLAG]]
- 功能:用于切换分区
NUMBER
的FLAG
状态。如果不指定NUMBER
和FLAG
,则会列出所有分区的所有可以切换的标志及其当前状态。这个命令和set
命令类似,但侧重于状态的切换操作。
unit UNIT
- 功能:用于设置
parted
命令中默认使用的单位,UNIT
可以是bytes
(字节)、s
(扇区)、KiB
(千字节,二进制单位)、MiB
(兆字节,二进制单位)、GiB
(吉字节,二进制单位)等。设置合适的单位可以更方便地进行分区大小等参数的指定。
version
- 功能:用于显示
parted
的版本号、版权信息等内容。
3、创建分区
在Parted的命令行界面中,输入以下命令创建分区
先创建GPT分区表
mklabel gpt
在创建ext4分区,占满整个硬盘
mkpart primary ext4 0% 100%
完成之后退出Parted的命令行界面
quit
4、格式化分区
创建分区后,需要格式化分区。以下命令将格式化刚刚创建的ext4分区:
mkfs.ext4 /dev/sdc1
5、挂载分区
在挂载分区前先创建挂载点
mkdir /mnt/shualiu
需要将分区挂载到文件系统中。以下命令将挂载分区到 /mnt/shauliu
目录
sudo mount /dev/sdc1 /mnt/shualiu
5.1.设置开机启动自动挂载
这边和前面一样,这里省略
vim /etc/fstab
/dev/sdc1 /mnt/shualiu ext4 defaults 0 0
6、查看分区信息
使用以下命令查看当前硬盘的分区信息:
sudo parted /dev/sdc unit s print all
7、删除分区
如果原先有分区可以在Parted的命令行界面中,使用下面命令删除分区:
rm 1
其中,1
表示要删除的分区号。不清楚具体分区号可以输入
p
来进行查看
8、调整分区大小
Parted工具也支持调整分区大小。以下命令将调整第一个分区的空间大小:
resizepart 1 100%
2、基于1panel搭建Qbittorrent
1panel就不多介绍了,可以当作Docker的可视化平台。
1)拉取镜像
1panel的拉取镜像之前首先要知道你拉取的镜像是什么?
可以先去https://hub.docker.com/ 去搜索看看,这里仅限演示qbittorrent
在搭建过程中不清楚环境变量可以看linuxserver/qbittorrent - Docker Image | Docker Hub 它给的方案来进行搭配使用。
知道镜像名称后,开始拉取镜像
linuxserver/qbittorrent
拉取镜像时间,看自己网速。
这就是我们刚拉取到的大宝贝了,默认是最新版本
想使用老版本可以在qbittorrent:
后面添加需要的版本
linuxserver/qbittorrent:4.6.7
2)创建容器
回到容器最开始的界面找到————》创建容器
开始填信息:
名称:qbittorrent
镜像:选择刚才下载的
端口:暴露端口
服务器 容器 协议
8086 8080 tcp
56341 56341 tcp
56341 56341 udp
解释:8080是qbittorrent网页默认端口、56341是添加的主动端口或被动端口用来连接更多互联网ip的端口。
PS: 记得在防火墙里面开始端口,以防访问不到qb
官网解释:
WEBUI_PORT variable
Due to issues with CSRF and port mapping, should you require to alter the port for the web UI you need to change both sides of the -p 8080 switch AND set the WEBUI_PORT variable to the new port.
由于 CSRF 和端口映射的问题,如果您需要更改 Web UI 的端口,则需要更改 -p 8080 开关的两侧,并将 WEBUI_PORT 变量设置为新端口。
For example, to set the port to 8090 you need to set -p 8090:8090 and -e WEBUI_PORT=8090
例如,要将端口设置为 8090,您需要设置 -p 8090:8090 和 -e WEBUI_PORT=8090
TORRENTING_PORT
A bittorrent client can be an active or a passive node. Running your client as an active node has the advantage of being able to connect to both active and passive peers, and can potentially increase the number of incoming connections. This requires an open port on the host machine which might differ from container's internal one.
例如,要将端口设置为 8090,您需要设置 -p 8090:8090 和 -e WEBUI_PORT=8090
Similarly to the WEBUI_PORT, to set the port to 6887 you need to pass -p 6887:6887, -p 6887:6887/udp and -e TORRENTING_PORT=6887 arguments to Docker.
与WEBUI_PORT类似,要将端口设置为 6887,您需要将 -p 6887:6887、-p 6887:6887/udp 和 -e TORRENTING_PORT=6887 参数传递给 Docker。
网络:bridge
ipv4:空
ipv6:空
挂载:本机目录
PS: 记得把下载目录的权限全部开启不然下载不了
本机目录 权限 容器目录
/home/qbittorrent/config 读写 /config
/mnt/100GB 读写 /100GB
/mnt/15GB 读写 /15GB
/mnt/200GB 读写 /200GB
/mnt/25GB 读写 /25GB
/mnt/35GB 读写 /35GB
/mnt/500MB 读写 /500MB
/mnt/65GB 读写 /65GB
/mnt/files 读写 /files
/mnt/shualiu 读写 /shualiu
/mnt/shualiu2 读写 /shualiu2
Command:空
Entrypoint:空
容器退出后自动删除容器:不勾选
特权模式:不勾选
控制台交互:都不勾选
重启规则:一直重启
CPU权重:默认
CPU限制:默认
内存限制:默认
标签:不填写
环境变量:
TZ=Asia/Shanghai
PUID=1000
PGID=1000
UMASK_SET=022
3)启动容器
确认没问题后,点击确认。等它创建启动完成
这时候去访问qbittorrent网页
http://NAS_IP:[你的端口号]
就会发现一个神奇的问题
???Unauthorized
未授权;未经授权;未授权的 ???
这是什么问题,再看看qbittorrent的日志
全是红色,其中还有No custom files found, skipping...
找不到自定义文件,跳过...
不用怕,问题很简单。
首先先关闭掉你的qbittorrent容器
使用 root 用户登录到服务器
去你qbittorrent下的config找到qBittorrent.conf文件打开。
如:~/.config/qBittorrent/qBittorrent.conf
使用vim命令
vim /home/qbittorrent/config/qBittorrent/qBittorrent.conf
在[Preferences]
中添加下面两段内容:
WebUI\HostHeaderValidation=false
WebUI\CSRFProtection=false
然后重启qbittorrent就可以了。
剩下的qbittorrent内部配置可以看我我之前的一篇文章:【家庭影院】Docker安装qbittorrent篇
参考资料:
在 CentOS 7 中如何进行磁盘分区和挂载的最佳实践。
Centos挂载硬盘完整图文教程(查看、分区、格式化、挂载)磁盘
linux centos磁盘格式化和永久挂载方法
CentOS 7快速上手:Parted工具硬盘格式化全攻略,轻松学会分区与格式化!
CentOS 7安装指南:轻松硬盘格式化,快速启动您的服务器之旅!
登入qbittorrent提示Unauthorized解决方法
qBittorrent 无法访问,提示 Unauthorized (全网最全)
评论 (0)