互联网上有很多关于 Unix 服务器分区的相互矛盾的信息,所以我需要一些关于如何进行的建议。
到目前为止,在我们测试环境中的服务器上,我并不真正关心分区,我配置了单个整体/
和交换分区。这种分区方案对于我们的生产服务器来说似乎不是一个好主意。我在这里找到了一个很好的起点,但在细节上似乎很模糊。
基本上,我有一台服务器,我将在该服务器上运行基本的 LAMP 堆栈(Apache、PHP 和 MySQL)。它将必须处理文件上传(最多 2GB)。该系统具有 2TB RAID 1 阵列。
我打算设置:
/ 100GB
/var 1000GB (apache files and mysql files will be here),
/tmp 800GB (handles the php tmp file)
/home 96GB
swap 4GB
Run Code Online (Sandbox Code Playgroud)
这听起来很理智,还是我把事情复杂化了?
您可以创建一个具有类似权限的用户root
,并且它的主目录将属于/home/username
. 为什么root
在文件系统的顶层有自己的文件夹?这只是惯例、安全问题,还是与性能相关的原因?
我正在 FreeBSD 机器上制作 zpools。在创建 zpools 时,我观察到这两种情况:
如果我采用raw disks
并创建,zpool
那么我就能够形成 zpools 并且它们运行良好。
如果我使用gpart
in freebsd-zfs
format格式化磁盘,然后制作 zpool,那么它们也可以正常工作。
我感到困惑的是,哪种方法更适合创建 zpool?
有没有办法将不同的磁盘挂载为一个目录?假设我有一些带有 ext4 分区的磁盘:
/dev/sda1 1Tb mounted as /store1
/dev/sda2 2Tb mounted as /store2
/dev/sdb1 2Tb mounted as /store3
/dev/sdb2 2Tb mounted as /store4
Run Code Online (Sandbox Code Playgroud)
我想拥有/storeall
7Tb 空间,将它们合并为一个逻辑目录,这样我就可以用一个rsync
命令填充它。
在 Linux 上可以吗?我应该使用哪个文件系统?
在第 25.1.2 节中。Partitions: Turning One Drive Into Many,有如下说法:
分区表分为四个部分或四个主分区。主分区是硬盘驱动器上只能包含一个逻辑驱动器(或部分)的分区。每个部分都可以保存定义单个分区所需的信息,这意味着分区表最多可以定义四个分区。
我不明白为什么只能有四个分区。这只是它最初设计的方式吗?真的可以只有 4 个主分区吗?
您知道“fdisk -l”如何列出驱动器分区表并显示每个分区的分区 ID/类型?
是否有类似的方法来获取 LVM 逻辑卷的分区 ID?
编辑:我知道“lvs”,这主要是我正在寻找的(它给了我逻辑卷的列表,有点像“fdisk -l”......除了知道什么也很有用逻辑卷的分区类型(我喜欢将其视为“虚拟分区”)。该信息是“fdisk -l”在右侧最后两列中列出的信息。(例如“8e”表示物理分区LVM 分区,或者 Linux ext 等的“83”)。
我正在寻找的工具可能不是 LVM 的一部分;也许只是其他一些可以在给定分区的情况下打印分区 ID/类型的实用程序?
我们有一个 12 TB RAID 6 阵列,它应该设置为具有XFS文件系统的单个分区。在创建新文件系统时,它说它有 78 GB 正在使用中,但驱动器上没有文件。
[root@i00a ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 32G 0 32G 0% /dev
tmpfs 32G 0 32G 0% /dev/shm
tmpfs 32G 11M 32G 1% /run
tmpfs 32G 0 32G 0% /sys/fs/cgroup
/dev/sdb3 154G 3.9G 150G 3% /
/dev/sdb2 1014M 153M 862M 16% /boot
/dev/sdb1 599M 6.7M 593M 2% /boot/efi
/dev/sdc1 187G 1.6G 185G 1% /var
tmpfs 6.3G 0 6.3G 0% /run/user/0
/dev/sda1 11T 78G 11T …
Run Code Online (Sandbox Code Playgroud) 使用ln -s
或之间有什么实际区别mount --bind
吗?
我想将一些文件夹移动到另一个分区,而不更改它们的守护程序设置,想知道我应该采取什么方法。
我更喜欢ln -s
它,因为它需要最少的设置(无需/etc/fstab
修改),但也许它不常见是有原因的?
我有一个 / 分区,其中包含 /var 并且太小了。我有另一个有足够空间的现有分区。
这是我的 df:
File system Size. Occ. Avai. %Ful. Monté sur
/dev/sda1 5,0G 4,5G 289M 95% /
tmpfs 242M 0 242M 0% /lib/init/rw
udev 10M 2,7M 7,4M 27% /dev
tmpfs 242M 0 242M 0% /dev/shm
/dev/sda2 15G 406M 14G 3% /home
Run Code Online (Sandbox Code Playgroud)
如何将 /var 文件夹从 sda1 移动到 sda2 ?
VMware 允许在线扩展虚拟磁盘的大小 - 当 VM 运行时。Linux 系统的下一个预期步骤是:
fdisk
pvresize
lvresize
操作resize2fs
对于文件系统但我坚持第一步:fdisk
和sfdisk
仍显示旧大小的磁盘。
由于虚拟 LSI 逻辑控制器,我的磁盘是连接的 SCSI 虚拟磁盘。
如何在不重启的情况下刷新 Linux 内核中可用的虚拟磁盘大小和分区表信息?
据我所知,由于 VMWare 工具,所有这些步骤都可以用于正在运行的 Windows,无需重新启动,甚至无需任何用户操作。在 Linux 上,我也希望在线完成所有步骤,而且我已经知道步骤 2、3 和 4 可以在线工作。但是第一个 - 更改分区表中声明的分区大小(仍然)似乎需要重新启动。
更新:我的系统是内核为 2.6.26 的 Debian Lenny,我扩展的磁盘是主磁盘,其中包含一个包含“/”的“根”LV 的大 PV。