使用kolla-ansible安装ceph,实现一体化设置
我正在尝试使用启用Ceph启用Kolla宽恕 来部署多合一配置 enable_ceph: "yes" #enable_ceph_mds: "no" enable_ceph_rgw: "yes" #enable_ceph_nfs: "no" enable_ceph_dashboard: "{{ enable_ceph | bool }}" #enable_chrony: "yes" enable_cinder: "yes" enable_cinder_backup: "yes" glance_backend_ceph: "yes" gnocchi_backend_storage: "{{ 'ceph' if enable_ceph|bool else 'file' }}" cinder_backend_ceph: "{{ enable_ceph }}" cinder_backup_driver: "ceph" nova_backend_ceph: "{{ enable_ceph }
0 2024-02-26
编程技术问答社区
如何用Ansible创建一个新的分区
当我在命令行上运行它时,它可以正常工作: echo -e "n\np\n1\n\n\nw" | sudo fdisk /dev/sdb ,但在Ansible中不想在Shell中运行: - name: partition new disk shell: echo -e "n\np\n1\n\n\nw" | sudo fdisk /dev/sdb 它不会带来错误,但也不会创建分区. 我检查了Ansible和LVM不会做我需要的事情. 有建议吗? 解决方案 使用Ansible 2.3及以上,您可以使用 parted模块从块设备创建分区. 例如: - parted: device: /dev/sdb number: 1 flags: [ lvm ] state: present 要格式化分区,只需使用 - filesystem: fstype: ext2 dev: /dev/sdb1 将分
0 2024-02-26
编程技术问答社区
尝试调整2fs EB卷的大小失败了
我有200GB EBS量,并且正在尝试增加可用的空间.我遵循以下说明: http://www.hellersoftware.com/2012/resize-ebs-volume-attached-to-amazon-web-services-ec2-instance/,并设法创建快照并创建基于此的新EBS快照. 一切都是桃子,除非我这样做: # resize2fs /dev/sdf 我得到 resize2fs 1.40.8 (13-Mar-2008) resize2fs: Bad magic number in super-block while trying to open /dev/sdf Couldn't find valid filesystem superblock. 不确定那里发生了什么,但是我的新卷仍然显示200GB,而实际上它是800GB的卷. 解决方案 OP表示他正在使用XFS文件系统. 该工具resize2fs仅与Ext2,Ext3
6 2024-01-24
编程技术问答社区
无法在EC2 centos上调整根分区的大小
我使用CentOS 6.3 x64的社区图像创建了我的EC2机器.我添加了一个35 GB的磁盘.现在,当我做#DF -H 时 Filesystem Size Used Avail Use% Mounted on /dev/xvda1 7.9G 1.2G 6.4G 16% / tmpfs 7.3G 0 7.3G 0% /dev/shm 我的磁盘是35GB,但在根中显示8 GB,为TMP​​FS. 我尝试使用Resize2FS,但它在CentOS上不起作用.磁盘具有EXT4分隔.. # resize2fs /dev/xvda resize2fs 1.41.12 (17-May-2010) resize2fs: Device or resource busy while trying to open /dev/xvda Couldn't find valid filesyste
0 2024-01-24
编程技术问答社区
列出磁盘上的所有分区
我正在为Windows不支持的文件系统在C#中制作实用程序,这意味着我不能只访问驱动器.我需要一种方法来列出硬盘上的所有分区并编写/格式化它们. 解决方案 列出磁盘分区,您可以使用WMI. var searcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_DiskPartition"); foreach (var queryObj in searcher.Get()) { Console.WriteLine("-----------------------------------"); Console.WriteLine("Win32_DiskPartition instance"); Console.WriteLine("Name:{0}", (string)queryObj["Name"]); Console.WriteLine("Index:
6 2024-01-02
编程技术问答社区
磁盘签名的随机值
作为机器识别系统的一部分,我正在寻找Win32_DiskDrive的签名.现在,在两个客户的机器上,我已经看到该字段具有随机值.我认为这是由于未在已发货代码中检查Hresult. 什么会导致机器没有有效的签名? WQL查询:选择字幕,DeviceID,签名,Win32_DiskDrive的TotalSector 更新: 现在已经在3台机器上看到了这一点,一台在中国,一台在东欧,一台在加拿大.当我说它返回一个随机值时,我的意思是它每次查询时都会返回一个不同的随机值.等待客户尝试diskpart,并在请求唯一的ID时查看它说什么. 解决方案 我找不到确定签名为null的方法. 我的解决方案是通过磁盘驱动器的分区迭代 wstring partionquery= L"ASSOCIATORS of {Win32_DiskDrive.DeviceID='"; partionquery += disk_deviceid; partionquery += L"
2 2023-12-11
编程技术问答社区
如何访问隐藏的分区/卷
我必须编写一个代码以使用C#或C ++访问隐藏的磁盘分区/卷. 但找不到有关此事的任何帮助参考. 作为隐藏卷,它不包含"磁盘字母",因此您只能键入" C:\"并访问它. 一个例子是Windows随附的"恢复分区".您可以在Explorer上看到它,但它在那里. 我的应用程序将写入和读取来自Thoose分区的数据,我必须找到一种做" C:\"之类的方法. . 在上图中,卷5和6是隐藏的分区. 我已经在Stackoverflow上找到了此链接,但仅"列表" de分区: 编辑 问题是:即使使用WMI作为Suguest,我也无法找到如何在查找文件时过滤卷. 例如,select * from win32_DataFile将列出计算机中的所有文件. 我认为应该是使用其ID(或名称)过滤量的一种方式. 类似: select * from win32_DataFile where volumeId = '\\?\Volume{2d5f3a68-75f5-44c4-
2 2023-12-11
编程技术问答社区
通过WMI创建/删除磁盘分区
有一种通过WMI创建/删除磁盘分区的方法吗? 我已经可以安装/卸载虚拟磁盘(VHD)并列出它们的分区. 据我所知, 解决方案 无法在WMI中创建/删除分区.您可能需要查看 shell函数
6 2023-12-10
编程技术问答社区
如何在没有WMI的情况下知道两个分区是否在一个物理硬盘上?
我有这些分区(在Windows中): Hard Disk 1 - Partition C, Partition D Hard Disk 2 - Partition E 程序语言有什么办法可以知道例如分区C和分区D是否在一个物理硬盘中没有WMI ? ? 我不想使用WMI,因为它很慢 - 在此示例中,我花了0.5秒.我需要快速. 谢谢. 解决方案 我不知道获得磁盘分区信息的其他托管方法. 您可以使用C#中的P/Invoke使用Win32 API.但是,除非绝对必要,否则您不应该. 您需要的Win32函数称为DeviceIocontrol().可以在 http://msdn.microsoft上找到API文档. .com/en-us/library/aa363216(vs.85).aspx .使用控制代码ioctl_storage_get_device_number调用DeviceIocontrol(),您将获得给定分区设备句柄的物理磁盘驱动器.可以使用C
0 2023-12-10
编程技术问答社区
Windows Vista中的原始分区访问
在Windows Vista中访问原始磁盘分区需要内核模式控制,而不是WinXP,您可以从用户模式访问它. 但是,我听说在USB闪存时,即使在Windows Vista上,也可以从用户模式访问一个分区. 这是真的吗? 问候 /robert 解决方案 您可以在Vista上执行此操作,您可能需要管理权,但是不需要特殊的内核模式驱动程序. 这个问题显示了如何做我如何阅读直接带有.NET的磁盘?当Stick上的文件系统损坏时,我直接读取USB棒的数据.
2 2023-12-09
编程技术问答社区
获取Windows上的分区列表
目标 我正在将文件系统移植到Windows,并且正在为Mounterable编写一个更类似Windows的接口.此过程的一部分是让用户找到分区并选择驱动器字母.最终,分区的选择必须导致我可以使用CreateFile(),open(),fopen()或类似的东西打开的东西. 线索 Windows似乎围绕着卷的概念,这些概念似乎与磁盘不太相似,并且仅用于已经安装的文件系统. 有希望的线索我包括: /li> 然而,所有这些都以卷或偏移结束,而不是我追随的/dev/sda1 partition特定风格的手柄. 这个问题是一个非常相似的事情,我考虑了一个赏金观察到的OP是在物理磁盘名称之后,而不是分区. 此答案 喜欢避免这种情况(或查看包含可能路径的界限的文档). 问题 我想要: 正确的术语和文档用于Windows中的未数分区. 一种有效且有记录的方法可靠地检索所有可用的分区. Linux中可用的最接近分区文件抽象的拟合,其中所有IO都绑
2 2023-12-06
编程技术问答社区
在Windows上获取卷的大小
我正在写一个库,以提取Windows系统上的物理磁盘,分区和卷(XP或更高版本)的信息. 我正在尝试获得音量的能力.这是我知道的方法,每个方法都失败了: IOCTL_STORAGE_READ_CAPACITY IOCTL_DISK_GET_LENGTH_INFO和IOCTL_DISK_GET_DRIVE_GEOMETRY_EX 的缺点 + GetFreeDiskSpace用于群集大小 - 需要GENERIC_READ(管理员访问),并给出文件系统数据区域的大小,而不是整个卷. IOCTL_DISK_GET_PARTITION_INFO - - 需要GENERIC_READ(管理员访问),并且在USB连接磁盘上也失败 奇怪的是,来自FSCTL_GET_VOLUME_BITMAP和WMI的CIM_LogicalDisk.Size属性的簇数量同意,并且两者都比IOCTL_DISK_GET_LENGTH_INFO的值小4096字节. . 获得数量容量的正确方法是什么?由
0 2023-12-04
编程技术问答社区
由磁盘分区引发的Elasticsearch低水印设置
我的索引处于"黄色"状态,因为一个碎片未分配.我的三个数据节点总体上具有足够的磁盘空间,但已分配.每个数据节点都有三个磁盘分区,称为/data1,/data2和/data3. Elasticsearch仅在/data1上存储碎片.如下 path.data: /data1/elasticsearch, /data2/elasticsearch_2, /data3/elasticsearch_3 然后运行: curl -XPOST "localhost:9200/_cluster/reroute?retry_failed" 尝试重新分配碎片.但是,我从节点到第三个数据节点从节点到the shard cannot be allocated to the same node on which a copy of the shard already exists获取警告the node is above the low watermark cluster setting [clu
4 2023-08-07
编程技术问答社区
从物理驱动器开始映射分区
我想映射Windows中所有驱动器的所有分区(尚未映射的驱动器).我的意思是我想分配每个驱动字母. 我知道您可以使用Findfirstvolume,FindNextVolume,FindVolumeClose进行操作,但是在某些情况下您无法使用它们. 我尝试了Querydosdevice,同样的事情. 这个想法是从\.\ ythysDrive [n]开始,找出分区并映射它们. 我知道这是可行的,因为我看到了一个可以做到这一点的程序.但是我不喜欢它,因为它也映射隐藏的分区. 有人知道一种方法...吗? 谢谢. 解决方案 我做到了:) 我制作了一个程序,该程序在启动时添加或删除了驱动器字母 - 如果从计算机中添加了一个或多个存储驱动器或删除了一个或多个驱动器: program MapDrives; uses Windows; type TPARTITION_INFORMATION = record StartingOffset: _LARGE_
30 2023-03-18
编程技术问答社区
Linux c++:apis与/proc文件?
IM正在使用应用程序收集并发送各种系统信息(分区空间/免费,笔记本电脑电池信息等).我没有成功地以直接C ++ API的形式获取此信息.尽管所有这些都可以通过/proc(或类似)中的文件提供. 所以 - 我想知道是否在我的C ++应用程序中读取这些文件是获取此信息的适当方法,还是我应该继续尝试发现API? (注意:我正在使用StatVF). 到目前为止,在Win32中收集此类信息似乎更容易.似乎很奇怪. 解决方案 最好的实践是到目前为以以下优先顺序与API保持. 您的语言API(在这里对您没有多大帮助,但对于字符串,C99字符串功能比POSIX或其他OS标准指定的库字符串功能更好.) POSIX操作软件API 记录了内核API的 无证件的内核API(至少这些会破裂,例如,如果它们更改,则可能不会更改) /proc /dev/kmem,/dev/mem 没有理由相信/proc拖钓将是可移植的,甚至在发行版之间是相同的.并非每个系
12 2023-03-08
编程技术问答社区
外部驱动器的字母-备份
我正在编写一个powershell脚本,它将从我的Vista驱动器备份几个文件夹,以使用Robocopy来备份到外部USB驱动器. Windows并不能保证它将始终将相同的驱动器号分配给外部驱动器. 解决这个问题的最佳方式是什么? 如何代码目的地路径? 谢谢. 解决方案 Windows可能会更改分配给USB驱动器的驱动器号. 执行此备份的正确方法是将USB驱动器安装在空目录中.它不仅添加了一些转换存储的一致性,它还允许在Windows桌面上进行持久性快捷方式. 那是如何: 从Windows的运行/开始搜索框中运行"diskmgmt.msc", 右键单击已插入驱动器,然后选择"更改驱动器号 和路径." 删除分配给驱动器的当前驱动器号. 单击"添加"按钮 选择挂载到以下空NTFS文件夹中,然后单击 浏览. 现在导航到要分配USB驱动器的子文件夹 并确认任务. USB驱动器现在可以从该文件夹访问(如果它当然连接到计算机). 现在,您可以更改脚
22 2023-01-22
编程技术问答社区
是否可以用Java来格式化记忆棒、笔式驱动器或磁盘?
我想创建一个多平台实用程序来格式/擦除内存棒,磁盘等. 可以在Java中执行此操作吗?还是我需要为每个操作系统绘制的本地方法调用本机方法? 解决方案 它非常具体,没有通用的方法来执行此操作.您的选择是 创建一个JNI库使用系统调用来执行此功能 在执行此操作的实用程序周围编写包装程序类(例如,捕获STDOUT并将输入输入到STDIN上以进行外部过程) ) 使用特定特定技术(如前所述)进行零设备 使用 fat32-lib 来操纵特定的文件系统类型. 其他解决方案 不是直接.您将需要调用特定于操作系统的程序来为您完成实际工作. 其他解决方案 在类似于Unix的系统上,您将能够(仅作为根,很可能)读取磁盘文件/dev/{h,s}d*并编写您想要的任何字节序列,包括代表A的字节序列说,ext3文件系统. 我不知道Java中有任何EXT3库,因此您可能必须自己写.或您关心的文件格式的库. 这可能不是您想要的,但是您可以安顿下来: - )
24 2022-12-23
编程技术问答社区
如何在谷歌计算引擎上获得更大的启动盘
默认图像具有10GB,但我需要更多(大约30GB).如果我使用其中一个默认图像创建30GB的磁盘,则可用空间为10GB,而不是30GB.我知道我可以使用诸如DeBootstrap之类的工具安装发行版,但这似乎不必要地复杂.还有其他方法吗? 解决方案 这可能是撰写本文时的新功能,但请转到 https://console.cloud.google.com/compute/ 单击左菜单中的磁盘 在加载的主窗格中,单击您的实例 在加载的上部水平菜单中,单击编辑 以前的磁盘尺寸将变得可编辑.将磁盘尺寸更改为所需的尺寸. 重新启动您的实例(sudo restart -r现在).在重新启动时,DF -H列出了您的新磁盘大小. 因此,回答您的问题的一种方法是使用默认磁盘创建一个实例,然后通过Compute Engine GUI进行调整大小. 其他解决方案 您可以创建大于10GB的引导磁盘,但是您需要重新分配它,因为默认情况下,提供的VM图像扩展到10GB,因此您需要
22 2022-10-20
编程技术问答社区
C#和diskpart:如何通过磁盘标签而不是数字来选择?
我有一个安装Windows映像的C#应用​​程序.我必须选择在用户界面上复制系统(C:或D:或...)的磁盘.为此,没关系. 然后我必须格式化磁盘.我必须使用diskpart.exe选择与C:.但是,使用磁盘,我们选择具有数字的磁盘:选择磁盘0或1或... 如何在接口上选择的良好磁盘编号和用户选择的字母之间建立连接? 我在Google上什么也没发现.我试图找到WMI Win32_DiskDrive的信息,但与磁盘详细信息磁盘没有任何共同点. 谢谢 解决方案 另一种解决方案而不是使用ManagementObjectSearcher是在程序上使用DiskPart.exe,但是我的代码是静态解决方案(对于REGEX会更好),但会工作很长时间. 它需要一个具有较高执行特权的清单文件(添加新元素>应用程序清单文件,然后更改requestedExecutionLevel
104 2022-10-01
编程技术问答社区