Anduin Xue

let today = new Beginning();

Service engineering Skills and IT capabilities for operating and maintaining online services.


How to install CUDA and cuDNN on Ubuntu 22.04 and test if its installed successfully

本篇博客详细介绍了如何在Ubuntu 22.04上安装CUDA和cuDNN,并测试它们是否安装成功。首先,博客提供了安装CUDA的下载链接以及具体的安装步骤。接下来,博客提供了安装cuDNN的下载链接和详细的安装步骤。文章还介绍了如何确认驱动程序是否已安装,以及如何检查CUDA和cuDNN是否已安装。 为了测试CUDA是否安装成功,博客提供了一个简单的“Hello CUDA”程序,并展示了如何编译和运行它。同样,博客也展示了如何测试cuDNN是否安装成功,通过运行一个简单的示例程序。 在阅读本篇博客后,读者应该能够顺利地在Ubuntu 22.04上安装CUDA和cuDNN,并确保它们已成功安装。此外,本文还提供了一些有用的命令来检查驱动程序、CUDA和cuDNN的安装状态和版本信息。 最后,你是否知道如何在自己的Ubuntu系统上安装CUDA和cuDNN?如何确保它们已成功安装并运行?阅读全文以获取详细的操作步骤和示例代码。--GPT 4

Ubuntu NVIDIA vGPU CUDA cuDNN GPU

让你的数据中心使用 GPU 算力!

本文介绍了如何在数据中心中使用 GPU 算力。首先,文章详细描述了安装并配置 NVIDIA Grid 驱动的过程,包括修改配置文件、添加许可等。接着,介绍了如何安装 CUDA,并给出了一些注意事项。文章还讨论了如何确保虚拟机可以在主机之间平滑迁移,并给出了在 VCenter Server 中开启迁移的方法。此外,文章提及了如何划分 SKU,以便提前规划每个物理 GPU 的切分方式。最后,文章介绍了如何开始炼丹,包括安装 cuDNN、使用 GPU 进行硬件加速编码以及运行 AI 应用。文章还提供了一些监控温度的方法,以便在家中服务器降低噪音。如果遇到问题,文章给出了一些建议和检查事项。那么,在这个过程中,哪些因素可能会影响 GPU 算力的使用?如何确保充分利用 GPU 算力以提高数据中心的性能?--GPT 4

Ubuntu VMware Vsphere Server NVIDIA Ai vGPU Python Tesla CUDA

自己独立运营一个面向你的朋友的 AI 绘画系统(基于 Stable Diffusion)

本篇博客介绍了如何独立运营一个面向朋友的AI绘画系统,基于Stable Diffusion。文章首先建议限制某些功能,以避免暴露给朋友的任意Prompt填写导致的潜在危险。接下来,博客详细介绍了如何编辑`ui-config.json`文件来限制Stable Diffusion画色图的功能,并提供了一份示例配置。 文章还建议编辑`user.css`文件,隐藏一些可能让人困惑的按钮,提供了相应的CSS代码。最后,博客介绍了如何使用FRPC和Caddy将Stable Diffusion暴露到公网,并使用加密通信。文章给出了一个搭建成功的示例网址,并提供了FRP和Caddy的使用教程链接。 在阅读本文后,你是否对如何独立运营一个面向朋友的AI绘画系统有了更清晰的认识?如何确保系统的安全性和用户体验?如何将本地服务暴露到公网并保证通信安全?希望这篇博客能为你提供启发和帮助。--GPT 4

Web Server Tune Stable Diffusion Ai Self hosting

存储、计算、显示分离的游戏体验

本文探讨了存储、计算和显示分离的游戏体验。通常,大多数人会在家里组装一台电脑来满足游戏需求,但这种方法存在一些缺点。本文详细分析了这些缺点,并提出了一种新的解决方案,即将存储、计算和显示分离。 文章首先指出,多台设备意味着需要在每台设备上重复安装游戏,而且不同设备之间的性能可能不同,导致游戏体验也截然不同。因此,作者提出了将存储、计算和显示分离的方法。这样,可以让存储设备承担游戏数据的存储,让游戏主机负责游戏的渲染和计算,再让平板、手机负责游戏画面的展示。 文章接着讨论了实现这种分离的具体方法。首先,需要准备一个存储设备,可以选择自己搭建NAS或购买一台群晖。其次,计算设备和平时的游戏电脑没有太大区别,只是不需要安装太大的硬盘。最后,显示设备可以选择iPad或安卓平板,并使用Moonlight这样的应用来实现游戏画面的串流。 为了实现存储与计算分离,需要选择合适的通信协议。作者推荐使用ISCSI、NFS或SMB。如果遇到某些游戏无法识别远程路径的问题,可以尝试在远程路径上创建一个VHDX文件,然后挂载为本地硬盘。 总之,通过将存储、计算和显示分离,可以充分发挥每个设备的优势,实现在不同设备上的优质游戏体验。这种方法可以解决传统游戏设备无法满足多设备需求的问题,让游戏体验更加丰富和便捷。那么,你是否会尝试这种新的游戏体验呢?--GPT 4

Game Storage Disk Gaming NVIDIA Steam

Interface selection when Linux has multiple network interface at the same time

本篇博客讨论了一个在Linux设备上使用多个网络接口时遇到的问题,以及如何解决这个问题。在一个数据中心中,作者创建了多个子网,并将Linux设备的两个接口同时连接到这两个子网上。问题在于,当尝试访问互联网时,可能会出现“目标主机不可达”的错误消息。通过运行`ip route list`,作者发现蓝色网络具有较高的优先级,这是问题的根本原因。 为了解决这个问题,首先需要查看当前的路由表,可以使用`ip route list`命令。然后需要删除现有的默认路由,使用`ip route del default`命令。接下来,使用`sudo ip route add default via 172.16.50.1 dev ens160 proto dhcp metric 102`命令为具有较低度量值的网络接口添加新的默认路由。最后,可以使用`ip route get 8.8.8.8`命令询问Linux将使用哪个接口发送数据包到特定的IP地址,或者尝试连接互联网,例如使用`ping www.baidu.com`命令。 总之,如果在Linux设备上有多个默认路由,可以通过删除并使用较低度量值重新添加它们来调整优先级。这样就可以确保在具有多个网络接口的情况下,Linux设备能够正确地访问互联网。--GPT 4

IP Linux Network Routing Interface

Read from joystick output based on C#

在本篇博客中,我们将探讨如何使用C#语言从游戏操纵杆上读取输出。文章以购买Thrustmaster TCA空客油门为例,作者计划将其用于控制数据中心服务器的风扇速度。 首先,需要安装`SharpDX.DirectInput`库。安装完成后,我们可以运行一段代码来从`GameControl`中读取数据。同样地,也可以从其他类型(如`Joystick`)中读取。 本文提供了一段简单的C#代码示例,展示了如何使用DirectInput库获取设备信息、实例化操纵杆对象、设置缓冲区大小并获取操纵杆的输入数据。通过不断轮询操纵杆并获取缓冲数据,我们可以实时查看操纵杆的状态变化。 这篇博客为我们提供了一个有趣的应用场景,即使用游戏操纵杆控制数据中心服务器的风扇速度。这让我们思考,游戏操纵杆在其他领域还有哪些潜在的应用呢?如何将这种控制方式应用到其他设备上,以提供更直观、更有趣的交互方式?在探索这些问题的过程中,我们可能会发现更多有趣的应用场景和创新点。--GPT 4

Game SharpDX DirectInput Joystick

MySQL allow remote connection (For root and other users)

本篇博客主要讲述了如何在MySQL数据库中允许远程连接,无论是对于root用户还是其他用户。首先,我们可以通过运行SQL查询来检查数据库的当前状态。接着,确保防火墙允许3306端口,并允许MySQL绑定到所有端口。然后,对于root用户,需要在本地登录root,替换主机值,并重启服务。对于其他用户,如果用户不存在,需要先登录MySQL,创建新数据库和新用户,并为新用户分配必要的权限。如果用户已存在,只需更新用户的主机值即可。 本文详细介绍了每个步骤所需的命令和操作,为您在实际操作中提供了便利。如何确保远程连接的安全性?是否还有其他方法可以实现远程连接?阅读全文以获取更多信息并找到答案。--GPT 4

bash Database Linux Ubuntu Remote Management MySQL

ESXI converts Thick Provisioning Disk back to Thin Provision and reclaims space

本文介绍了如何将 ESXI 中的 Thick Provisioning 磁盘还原为 Thin Provision 并回收空间。作者分享了一次将 Thin Provisioning 磁盘意外膨胀至 2TB 的经历,并详细介绍了还原过程中所需的操作步骤。 首先,需要删除所有快照并进行合并。然后启用主机上的 SSH 功能。接着,转到 `/vmfs/volumes/store-name/vm` 文件夹并运行 `ls -ashl` 命令,可以看到 `original-flat.vmdk` 文件很大(4TB,其中 `original` 是实际虚拟机名称)。在关闭虚拟机后,运行一系列命令来复制磁盘到 `temp.vmdk`,移动旧的 `flat` 文件,使用新的 `flat` 文件伪装旧的 `flat` 文件,并删除磁盘表示。 重新运行 `ls -ashl` 命令,可以看到新的 `-flat.vmdk` 文件已经变小。然后尝试重新启动虚拟机。如果一切正常,可以删除 `big.bin` 文件。最后,在 VCenter 中检查虚拟机的消耗大小。如果没有显示出来,尝试创建一个快照。 本文为我们提供了一个解决虚拟磁盘意外膨胀问题的有效方法。那么,在其他类型的虚拟化环境中,是否也有类似的解决方案呢?如何确保在操作过程中不会损坏虚拟机数据?这些问题值得我们在实际操作中加以探讨。--GPT 4

VMware ESXI VMFS Reclaim thin provisioning thick provisioning

Ubuntu resize an ext4 partition without LVM

本篇博客详细介绍了如何在Ubuntu系统下调整ext4分区的大小,而无需使用LVM。文章首先提醒读者在进行分区调整之前确保已卸载所有文件系统并关闭所有交换分区,以防止数据损失。接着,博客通过一系列命令展示了如何使用fdisk工具删除旧分区并创建一个新的、更大的分区。在创建新分区后,文章解释了如何使用resize2fs命令在线调整文件系统大小,以适应新的分区大小。最后,通过df命令展示了调整后的分区和文件系统的大小。 在阅读本文后,你可能会思考如何在不同的文件系统和操作系统下进行类似的操作。此外,你可能会好奇在这个过程中是否存在数据丢失的风险,以及如何确保数据的安全性。在实践中,你可能会遇到哪些问题,又如何解决这些问题呢?--GPT 4

Linux Ubuntu Disk ext4 fdisk Partition

Aiursoft Nextcloud 事故调查、分析与总结

在2022年10月4日早晨10:00 - 12:00,Aiursoft Nextcloud遭遇了一次重大事故,服务中断两小时并损失部分数据。事故原因经过调查分析,最终确定为备份过程中的磁盘挂载问题导致系统盘空间被填满。这次事故让我们认识到了备份操作的潜在风险,以及磁盘剩余空间监控告警系统的重要性。为防止类似问题再次发生,我们对备份脚本进行了改进,增加了磁盘挂载状态和剩余容量的检查。此外,我们还建立了监控报警系统,以确保磁盘挂载正确且剩余容量处于健康状态。这次事故给我们带来了宝贵的经验教训,也提醒我们在未来的运维工作中要更加关注系统的健康状况,防止类似问题的发生。那么,如何确保我们的备份操作更加安全可靠?有哪些方法可以更好地监控磁盘使用情况?在这次事故中,我们又可以从哪些方面进行改进,以提高系统的稳定性和可靠性?--GPT 4

bash Linux Backup Nextcloud Disk Incident

Install your own NFS ESXI storage server

本篇博客详细介绍了如何安装和配置自己的NFS ESXI存储服务器。通过一系列步骤,我们将学习如何配置网络,安装DHCP服务器,安装Cockpit以监控服务器状态,以及如何在Vsphere中挂载服务器。文章详细阐述了每个步骤的操作方法和注意事项,以图文并茂的形式展示了操作过程。 在配置网络部分,我们将学习如何在NFS服务器和ESXI服务器之间建立连接,以及如何通过桥接多个光纤端口来简化管理。为了提高性能,我们可以使用光纤直接连接ESXI主机和存储服务器。同时,我们还将安装DHCP服务器,并进行相应的配置。 Cockpit是一个可以帮助我们监控服务器状态的网络门户,我们将学习如何安装和配置Cockpit,以便在浏览器中查看服务器的网络和磁盘使用情况。在Vsphere部分,我们将学习如何为ESXI主机准备挂载NFS存储,并在VCenter服务器中添加新的存储。 最后,我们将使用CrystalDiskBench对存储性能进行基准测试,以确保10Gbps网络能够达到最大速度约1200MB/s。在整个过程中,我们需要密切关注网络使用情况和磁盘使用情况。 通过阅读本篇博客,您将能够掌握搭建NFS ESXI存储服务器的方法和技巧。那么,为什么我们需要在网络中安装额外的DHCP服务器呢?如何在浏览器中访问Cockpit并监控服务器状态?阅读全文,您将找到答案。--GPT 4

Linux Storage NFS VMware ESXI Vsphere Dell IPMI Debian Server

If a Ubuntu server should run apt upgrade automatically?

本文讨论了是否应该让Ubuntu服务器自动运行apt升级。首先,作者提到自动升级的优点:节省时间、尽快获得安全更新、始终保持软件包的清洁和新颖、历史上apt升级非常安全且不会删除现有库。然而,自动升级并不适用于所有场景。在问题调查阶段,自动更新可能会掩盖真正的问题;对于需要极度稳定的客户而言,服务器的任何更改都可能带来风险;自动升级可能导致软件的较大功能更新,从而引发业务中断;此外,更新过程通常需要重启,而某些程序在重启后可能难以恢复正常运行。 尽管如此,仍有一些情况下可以考虑自动升级:系统可容忍降低可用性;系统是无状态的,重启不会影响其正常运行;系统已配置完善的备份/快照;系统始终连接到互联网;系统需要获得最新的功能更新。作者建议仅在满足以上所有条件时才使用自动更新功能。 当然,文章还提供了如何配置Ubuntu服务器以每周自动升级的方法。首先编写一个`upgrade.sh`脚本,然后使用`crontab -e`编辑计划任务。但在实施自动升级之前,请务必权衡好利弊,确保自动升级不会给您的业务带来不必要的麻烦。--GPT 4

bash Linux Ubuntu Upgrade Crontab Update