标签: filesystems

您如何在具有数据完整性和性能的 HDD 上存储 VM?

首先,我知道这个话题很容易变得主观,但我试图避免这种情况,因为在一堆糟糕的答案中至少应该有一个很好的答案,而且很难找到。

乍一看,我的问题似乎很简单;您如何在硬盘上存储虚拟机磁盘,同时确保数据完整性不会受到损害,并且性能不会太差。

但它实际上比看起来更难;

  • ZFS 和 BTRFS 没有选择:写时复制文件系统在处理大文件方面是出了名的差,特别是如果它们本身可能包含另一个写时复制文件系统!您CAN关闭COW上BTRFS,但是这也将关闭执行校验和(和压缩,重复数据删除等)。
  • EXT2/3/4、XFS、ReiserFS、NTFS 等都不会像 BTRFS/ZFS 那样进行完整的数据校验和。

那么它是将死吗?除了具有其他问题的简单 RAID 设置之外,您无法获得完整的数据完整性,例如写入漏洞 (RAID5) 以及通常对损坏文件的处理非常糟糕,其中不清楚两个副本中哪一个是正确的。在将文件返回给操作系统或用户之前,对文件进行校验和验证并验证其完整性的更高级别系统可以避免这些问题。

我能想到的唯一选择是在 VM 内部而不是在主机上使用 BTRFS/ZFS,并在每台机器上适当地安排快照和备份,尽管这比在主机上执行要麻烦得多。

有谁知道任何其他方式来实现我的目标?

performance storage filesystems virtual-machines data-integrity

2
推荐指数
1
解决办法
159
查看次数

LVM:逻辑卷映射大小远大于文件系统使用的磁盘空间

在 Proxmox 中,我们使用 LVM 为 VM 创建磁盘(逻辑卷)(LVM 精简配置)。

最近我们发现我们的卷组几乎已满,即使所有虚拟机磁盘几乎都是空的。

问题是,某些 LVM 分区显示的映射大小比 df 报告的 VM 磁盘上存储的数据的实际大小大得多。

例如,我们有具有 100 GB 逻辑卷的 VM。VM 内的磁盘使用情况显示仅使用了 3.2 GB 空间:

#> df
Filesystem                         Size  Used Avail Use% Mounted on
/dev/mapper/pve-vm--3011--disk--1   99G  3.2G   91G   4% /
...
Run Code Online (Sandbox Code Playgroud)

但主机上的逻辑卷显示它使用 39.8 GB:

  #> lvdisplay
  --- Logical volume ---
  LV Path                /dev/pve/vm-3011-disk-1
  LV Name                vm-3011-disk-1
  VG Name                pve
  LV UUID                oleKd5-O2o4-c4CE-5vzn-bXRC-TXwF-lzApmW
  LV Write Access        read/write
  LV Creation host, time carol, 2016-08-16 09:03:54 +0200
  LV Pool name           vm-hdd
  LV Status …
Run Code Online (Sandbox Code Playgroud)

filesystems lvm thin-provisioning proxmox

2
推荐指数
1
解决办法
8263
查看次数

我删除了 /boot 的所有内容,现在服务器无法启动

我做了一件蠢事。我的想法是 /boot 目录是空的,每次计算机启动时内容都会进入 /boot。我的 /boot 驱动器给我错误消息,没有剩余空间,所以我认为可能有垃圾文件。我删除了 /boot by 的所有内容rm -rf *并通过reboot命令重新启动了计算机。现在系统没有启动。我在启动时出错,即
error file /grub2/i386-pc/normal.mod not found
Entering rescue mode ... grub rescue>

大多数搜索显示通过修复 grub 来解决问题。就我而言,我知道我已经删除了内容,所以我该如何恢复系统。我正在使用 Centos 7。

filesystems boot boot-loader grub2 centos7

2
推荐指数
1
解决办法
3207
查看次数

如何强制重新读取 XFS 文件系统内容

在我们的计算集群中,我们建立了一种简单但非常有效的方式来向计算节点提供数据。

存储系统提供给与 LVS 合并的 luns,在此基础上我们构建了一个大 (80 TiB) XFS 分区。所有节点都连接到存储舱,并且可以毫无问题地识别 LVS 和 XFS。一个节点以读/写 (RW) 模式挂载 XFS,其他节点以只读 (RO) 模式挂载。

现在,问题是每当通过 RW 节点写入新文件时,我都必须在其他节点中重新安装 XFS,以便在 RO 节点中看到新文件。这个操作很简单:umount后面跟着一个mount.

umount /data
mount /data
Run Code Online (Sandbox Code Playgroud)

然而,这个解决方案不是很好,因为这个 RO 节点可能正在读取数据并且可能无法重新安装或导致超时。我想知道是否也腐败。

那么,现在有没有人可以强制 XFS(以及操作系统,在本例中为 Centos 7)重新读取文件表而无需重新安装?

xfs filesystems centos7

2
推荐指数
1
解决办法
409
查看次数

在 Centos Stream 8 上扩展 /var 分区

在安装我的centos Stream 8操作系统期间,我给/var设置了10GB的大小,认为这已经足够了,但是在我开始使用docker之后,我发现它在/var分区上占用了太多空间,如下所示df 命令:

\n
[root@compute-07 ~]# df -h\nFilesystem           Size  Used Avail Use% Mounted on\ndevtmpfs              28G     0   28G   0% /dev\ntmpfs                 28G     0   28G   0% /dev/shm\ntmpfs                 28G  179M   28G   1% /run\ntmpfs                 28G     0   28G   0% /sys/fs/cgroup\n/dev/mapper/cs-root  371G  8.2G  363G   3% /\n/dev/mapper/cs-home  100G  2.0G   98G   2% /home\n/dev/mapper/cs-var    10G  9.0G  1.1G  90% /var\n/dev/sda2            2.0G  412M  1.6G  21% /boot\n/dev/sda1            2.0G  7.3M  2.0G   1% /boot/efi\n/dev/mapper/cs-tmp    10G  105M  9.9G   2% /tmp\ntmpfs                5.5G   16K  5.5G   1% /run/user/42\noverlay               10G  9.0G  1.1G  90% \n\n/var/lib/docker/overlay2/77f74478297ca61595f0003d35c7323ec627adb44d94cef92c2b4a3c97319a66/merged\noverlay               10G  9.0G  1.1G  90% /var/lib/docker/overlay2/5eeb399ce4a3c0d8065d63123985269a359fa66f4d20a8486326e466a48a0128/merged\noverlay …
Run Code Online (Sandbox Code Playgroud)

partition filesystems lvm centos docker

2
推荐指数
1
解决办法
796
查看次数

文件夹内的子文件夹是否有任何限制

大家好,

我想知道 Linux 和 Windows 中文件夹内的子文件夹是否有任何限制?

谁能提供有关在一个文件夹中可以创建多少个子文件夹的信息?

提前感谢您的任何意见。

linux filesystems limitations

1
推荐指数
1
解决办法
1万
查看次数

什么是合理安全的基于 Web 的存储系统,理想情况下可以作为虚拟文件系统安装在 Windows 上?

我们的小型社区学院为我们大约 1000 名学生中的每一个分配了一个个人My Documents文件夹,该文件夹是 Windows 服务器共享的别名(也映射为他们的P:驱动器)。学生从他们的计算机实验室帐户访问它。出于安全原因,无法从我们的无线网段或公共 Internet 访问此共享。

自然,学生希望从他们的笔记本电脑和家里访问他们的大学文件。任何人都可以推荐一个合理安全的基于 Web 的存储系统(开源或商业),可以从 Windows 文件服务器(Active Directory 管理的帐户)提供他们的共享?

为了尽可能简单地使用,一个理想的系统应具有一个客户端,该客户端可以将连接安装到基于 Web 的存储作为虚拟文件系统。支持拖放和多文件上传/下载的轻量级或 Flash 客户端将是可接受的替代方案。这两者都存在吗?

我特别欢迎任何尝试过此方法的人发表评论,尤其是对于计算机知识水平差异很大的大量临时用户群体。

storage filesystems web-applications

1
推荐指数
1
解决办法
293
查看次数

控制 UNIX 目录内容用户组所有权

我想创建一个目录,任何用户都可以在其中创建文件,但在创建文件后,该文件的用户和组所有权被设置为预定义的值。我知道有一种方法可以使用 GUID、UID 来做到这一点,但我总是忘记 chmod 组合。

unix filesystems permissions

1
推荐指数
1
解决办法
515
查看次数

如何使已删除的文件无法恢复?

如果我删除 NTFS 分区上的文件,我可以很快恢复它们,并且成功的可能性非常高。删除文件时,仅删除文件系统条目,因此文件内容在一段时间内仍将保持不变,具体取决于之后的磁盘活动。

如何确保文件不可恢复以及完成这项工作的最佳工具是什么?

filesystems undelete

1
推荐指数
1
解决办法
5789
查看次数

在Linux中更改文件权限以便只有root才能看到/使用它,当您没有足够的文件权限时打开询问root密码的对话框

如何在 Linux 中更改文件权限,以便只有 root 用户才能在 Linux 中访问/打开文件/目录。

编辑

正在做

chmod 600 文件名 + sudo chown root:root 文件名  

将其更改为仅根可访问的文件。但是我只有在执行 $ sudo cat file.txt; 时才能看到文件内容;但是当我点击它时,它说无法显示文件内容。所以,当我点击它时,我希望它显示一个对话框或其他东西,提示我输入 root 密码,然后我可以打开文件。这可能吗 ??

如何将文件权限从 root 用户更改回普通用户 A ?

编辑 2

我什至可以做

须藤鹦鹉螺。 
然后提供 root 密码来打开文件。但这一切都来自终端。我想打开某种应用程序/对话框,这样当我以普通用户身份单击该文件/目录时,它会提示我输入 root 密码,而不仅仅是告诉我您没有打开该文件的适当文件权限。我想这一定是可能的,可能是一些脚本。任何的想法 ?

谢谢 :)

在这里解决

linux ubuntu filesystems

1
推荐指数
1
解决办法
1万
查看次数