Andrew Moa Blog Site

Ubuntu挂载Windows共享文件夹(cifs+nfs)

在虚拟机中运行计算文件,会导致虚拟磁盘膨胀,占用太多磁盘空间。这个时候可以通过挂载宿主机文件夹的形式,把计算文件转移到宿主机磁盘上,避免了虚拟磁盘膨胀的问题。在Windows中建立共享文件夹,这里省略了,只需要确保虚拟机能通过IP地址访问宿主机即可。

1. 查看资源路径

以下命令查看服务器共享出来的资源路径,确认挂载点:

smbclient -L 172.25.64.1 -U ${username}

915cf6282a8325b667b52d37dea315f0.png

挂载点访问路径://172.25.64.1/Share

2. 挂载方法

想要在Ubuntu中访问Windows共享文件夹,首先得安装cifs工具:

sudo apt install cifs-utils

然后通过mount命令挂载共享文件夹:

sudo mount -t cifs //172.25.64.1/Share /mnt -o username=${username},password=${password}

这里的IP地址172.25.64.1是虚拟机中访问的宿主机的网关地址,Share是宿主机共享的文件夹,/mnt是要挂载到的虚拟机本地访问路径,把命令后面的${username}${password}替换成访问用户名和密码即可。需要注意的是,Windows本地用户的用户名需要写成${计算机名}\${用户名}的形式,用反斜杠连接,例如:xxx-desktop\administrator。如果是在线账户的话就需要填写完整的邮件账户名称。如果密码中包含逗号等特殊转义字符的话,命令行就不要包含,password=及后面的内容,后续根据提示输入密码登录。

如果出现无读写权限的问题,挂载命令中增加dir_mode=0777,file_mode=0777

sudo mount -t cifs //172.25.64.1/Share /mnt -o dir_mode=0777,file_mode=0777,username=${username},password=${password}

如果想只添加某些特定用户的读写权限,通过uidgid指定用户和组:

sudo mount -t cifs //172.25.64.1/Share /mnt -o uid=user,gid=group,username=${username},password=${password}

通过mount命令可以查看挂载情况:

mount | grep cifs

b9e4cda2700bd92ba7d89159f79cc007.png

阅读时长1分钟
Andrew Moa

Hyper-V安装Ubuntu24.04

1. 需求

考虑在新电脑上安装Linux,不是双系统,因为还要满足日常办公。不喜欢折腾的可以用WSL,这里用Hyper-V实现,同时通过端口映射实现外网访问虚拟机。

2. 准备工作

2.1 下载Ubuntu

笔者是做CFD的,自然离不开Fluent,这玩意儿挑发行版的。从官网资料确认支持哪个发行版,支持哪个就装哪个,免得后面倒腾回来重装系统。

Ansys Computing Platform Support 2024R1

这里选择Ubuntu,前往官网下载最新的发行版。

2fd636d62e1453b3b54ad4074cde6c48.png

2.2 开启Hyper-V支持

在开始菜单搜索“启用或关闭Windows功能”,开启虚拟化支持。

973c3b93cf91c5138b89bbeaeb2bf103.png

把Hyper-V勾上,安装并重启就行了。

4e7e7f54c61f0f16af1595cb8c0b220e.png

阅读时长2分钟
Andrew Moa

ArchLinux下OpenFOAM编译安装与PBS并行化

1. 源代码下载

1.1 下载OpenFOAM源代码

${HOME}目录下新建OpenFOAM目录:

cd ${HOME}
mkdir OpenFOAM && cd OpenFOAM

从github下载OpenFOAM和ThirdParty的源代码,放到${HOME}/OpenFOAM目录中:

git clone https://github.com/OpenFOAM/OpenFOAM-dev --depth=1
git clone https://github.com/OpenFOAM/ThirdParty-dev --depth=1

1.2 下载Torque(PBS)源码包

本文用的是AUR中的Torque,CentOS、Debian和SUSE系的操作系统可以从Github上的OpenPBS下载现成的二进制包。采用OpenPBS或PBS Pro请跳过本文第3节,参照其他文档进行PBS配置。

从AUR上下载Torque(PBS)源文件:

git clone https://aur.archlinux.org/torque.git
cd torque
wget http://wpfilebase.s3.amazonaws.com/torque/torque-6.1.1.1.tar.gz

2. 编译安装OpenFOAM

2.1 设置环境变量

编辑${HOME}/.bashrc文件,添加以下两行:

#OpenFOAM
source ${HOME}/OpenFOAM/OpenFOAM-dev/etc/bashrc WM_MPLIB=OPENMPI

末尾的WM_MPLIB=OPENMPI表示使用重新编译的OpenMPI库。

更新环境变量:

source ${HOME}/.bashrc

验证环境变量是否正确:

echo $WM_PROJECT_DIR
echo $WM_THIRD_PARTY_DIR

可以正确输出OpenFOAM编译目录,则表示环境变量设置正确。

2.2 编译第三方库

进入ThirdParty-dev目录,编译第三方库:

cd $WM_THIRD_PARTY_DIR
wget https://download.open-mpi.org/release/open-mpi/v2.1/openmpi-2.1.1.tar.gz
tar -xvzf openmpi-2.1.1.tar.gz
./Allwmake

由于前面指定了WM_MPLIB=OPENMPI,此处需要手动下载OpenMPI源码文件,使用wget下载OpenMPI源码包并解压。Allwmake后面可以增加-jN选项开启多核并行编译,这里的N应替换成并行数,Allwmake会自动编译OpenMPI。

which mpirun
>${WM_THIRD_PARTY_DIR}/platforms/linux64Gcc/openmpi-2.1.1/bin/mpirun
which mpicc
>${WM_THIRD_PARTY_DIR}/platforms/linux64Gcc/openmpi-2.1.1/bin/mpicc

2.3 编译ParaView

继续在ThirdParty-dev目录里编译ParaView:

cd $WM_THIRD_PARTY_DIR
./makeParaView -mpi
wmRefresh

编译完成后运行wmRefresh刷新环境变量。

2.4 编译OpenFOAM

切换到OpenFOAM-dev目录编译OpenFOAM:

阅读时长3分钟
Andrew Moa