当前位置: 首页 > news >正文

linux部署NFS和autofs自动挂载

目录

(一)NFS:

1. 什么是NFS

2. NFS守护进程

3. RPC服务

4. 原理

5. 部署

5.1 安装NFS服务

5.2 配置防火墙

5.3 创建服务端共享目录

5.4 修改服务端配置文件

(1). /etc/exports

(2). nfs.conf

5.5 启动nfs并加入自启

5.6 客户端创建挂载目录并挂载

5.7 设置开机自动挂载

5.8 测试

5.9 补充:

(二)Autofs:

1. 挂载点和配置

2. 事件驱动

3. 后台守护进程

4. 超时机制

5. 挂载方式

6. 错误处理

7. 配置autofs

7.1 安装autofs

7.2 服务端配置

7.3 客户端配置

7.4 补充:


(一)NFS:

1. 什么是NFS


        NFS 是Network File System的缩写,即网络文件系统。英文Network File System(NFS),是基于TCP/IP协议的应用,可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。

        NFS在文件传送或信息传送过程中依赖于RPC服务。RPC:远程过程调用 (Remote Procedure Call) 是能使客户端执行其他系统中程序的一种机制。

        NFS服务器可以看作是一个FILE SERVER。它可以让你的机器(客户端)通过网络将远端的NFS SERVER共享目录MOUNT到自己的系统中。

2. NFS守护进程


nfsd:它是基本的NFS守护进程,主要功能是管理客户端是否能够登录服务器;
mountd:它是RPC安装守护进程,主要功能是管理NFS的文件系统。当客户端登录到NFS服务器后,必须通过文件使用权限的验证。它会读取NFS的配置文件/etc/exports来对比客户端权限。
portmap:主要功能是进行端口映射工作。


3. RPC服务


        RPC(Remote Procedure Call)即远程过程调用,记录NFS服务器使用的端口号,在NFS客户端发送请求时,将对应的端口号信息传递给客户端,确保客户端与服务端能连接上。

        注意:在启动NFS服务之前,必须先启动PRC服务,在Centos7中叫做 rpcbind 服务,否则 NFS Server 无法向RPC注册信息,另外,如果RPC服务重启,原来注册的NFS服务端的信息也就失效了,也必须重启NFS服务。特别要注意的是,修改NFS配置⽂件后不需要重启NFS,只需要执⾏ exportfs -rv 命令即可或是 systemctl reload nfs。

4. 原理

  1. 服务端启动RPC服务,并开启111端口。
  2. 然后服务器端启动NFS服务,并向RPC注册端口信息。
  3. 客户端启动RPC(portmap服务),向服务端的RPC(portmap)服务请求服务端的NFS端口
  4. 服务端的RPC(portmap)服务反馈NFS端口信息给客户端。
  5. 客户端通过获取的NFS端口来建立和服务端的NFS连接并进行数据的传输。
[root@node2 elysia]# rpcinfo -p 192.168.240.151program vers proto   port  service100000    4   tcp    111  portmapper100000    3   tcp    111  portmapper100000    2   tcp    111  portmapper100000    4   udp    111  portmapper100000    3   udp    111  portmapper100000    2   udp    111  portmapper

5. 部署

操作系统版本: centos 7

服务端:192.168.240.151/24(node1)

客户端:192.168.240.152/24 (node2)

5.1 安装NFS服务

        从原理可以看出,服务端和客户端都是需要下载nfs-utils和rpcbind的。

yum -y install nfs-utils rpcbind
5.2 配置防火墙

        服务端和客户端同时配置即可。

#iptables -F #使防火墙的策略恢复到默认状态,没有任何过滤规则
#iptables-save #输出当前的 iptables 配置和规则
#防火墙放行nfs,mountd,rpc-bind服务
firewall-cmd --permanent --add-service=nfs
firewall-cmd --permanent --add-service=mountd
firewall-cmd --permanent --add-service=rpc-bind
#重载防火墙
firewall-cmd --reload
5.3 创建服务端共享目录

        在nfs服务端上建立用于nfs文件共享的目录,并设置足够的权限确保其他人也有写入权限,我们创建一个测试文件readme.txt。

mkdir -p /mnt/shared
chmod 777 /mnt/shared
echo "hello world" > hello.txt
5.4 修改服务端配置文件

        NFS服务程序的配置文件为/etc/exports,默认情况下里面没有任何内容。我们可以按照“共享目录的路径        允许访问的NFS客户端(共享权限参数)”的格式,定义要共享的目录与相应权限。

        配置 NFS(网络文件系统)服务时,主要涉及两个配置文件:/etc/exportsnfs.conf。以下是这些文件中常用的参数:

(1). /etc/exports

这个文件用于定义哪些目录可以被共享,以及它们的访问权限。常用参数包括:

  • 共享目录:指定要共享的目录路径。
  • 客户端:指定可以访问该目录的客户端,可以是 IP 地址、主机名或网络段,可以使用通配符来指定网络段。
  • 访问权限
    • rw:读写权限。
    • ro:只读权限。
    • no_root_squash:允许客户端以 root 用户访问共享。默认会将 root 权限映射为普通用户。
    • root_squash:当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户
    • all_squash:将所有客户端请求映射为匿名用户。
  • 异步/同步
    • async:允许 NFS 在将数据写入磁盘之前返回响应,提高性能。
    • sync:确保数据在响应前写入磁盘,增加安全性,但性能较低。

示例

/srv/nfs 192.168.1.0/24(rw,sync,no_root_squash)/srv/nfs/docs *.example.com(ro)
(2). nfs.conf

这个文件通常位于 /etc/nfs.conf,用于配置 NFS 服务的全局参数。常用的参数包括:

  • [nfs]:NFS 相关设置。

    • vers:指定 NFS 版本。
    • mountd_port:指定 mountd 的端口号。
    • rpcbind_port:指定 rpcbind 的端口号。
  • [rpcd]:RPC 相关设置。

        我们在/etc/exports文件中加入以下行即可,nfs.conf文件有要求自行更改。

/mnt/shared 192.168.240.*(rw,sync,no_root_squash)
#/mnt/shared:服务端共享的目录
#192.168.240.*:允许访问的NFS客户端,这里是一个网段内的主机,也可以是某一个指定的主机
#(rw,sync,no_root_squash):共享权限参数
5.5 启动nfs并加入自启

        服务端配置即可。

systemctl start rpcbind # 启动rpc
systemctl start nfs-server #启动nfs
systemctl enable rpcbind  #设置开机自启
systemctl enable nfs-server #设置开机自启

5.6 客户端创建挂载目录并挂载

        挂载之前,我们可以使用showmount查看一下NFS服务端的可共享目录:

[root@node2 ~]# showmount -e 192.168.240.151
Export list for 192.168.240.151:
/mnt/shared 192.168.240.*

        在NFS客户端创建一个挂载目录,使用mount命令并结合-t参数,指定要挂载的文件系统类型,并在命令后面写上服务器IP地址,服务器上的共享目录以及要挂载到客户端的目录。

mkdir -p /mnt/nfs
mount -t nfs 192.168.240.151:/mnt/shared /mnt/nfs
#-t nfs:挂载的文件系统类型为nfs
#192.168.240.151:/mnt/shared:NFS服务端IP地址以及共享目录
#/mnt/nfs:共享目录挂载到的客户端本地目录

        使用df -h查看挂载情况:

[root@node2 ~]# df -h | tail -n 1
192.168.240.151:/mnt/shared   18G  5.1G   13G  29% /mnt/nfs

5.7 设置开机自动挂载

        上面我们虽然挂载好了,但是每次开机都需要重新挂载,非常麻烦,我们只需要在/etc/fstab文件中加入以下配置即可,之后每次开机系统就会帮我们自动挂载了。

echo "192.168.240.151:/mnt/shared /mnt/nfs nfs defaults 0 0" >> /etc/fstab
5.8 测试

        客户端进入挂载目录,查看是否存在hello.txt文件

cd /mnt/nfs
cat hello.txt

[root@node2 ~]# cd /mnt/nfs
[root@node2 nfs]# ls
hello.txt
[root@node2 nfs]# cat hello.txt
hello world

        出现hello.txt测试文件,配置完成。

5.9 补充:

卸载目录:

umount 是一个用于卸载文件系统的命令。在 Linux 和 Unix 系统中,使用 umount 可以安全地断开挂载的设备或目录。以下是 umount 的基本用法:

基本语法:umount [选项] <挂载点或设备>

示例:

  1. 卸载挂载点:

    umount /mnt/mydrive

    这将卸载 /mnt/mydrive 目录下的文件系统。

  2. 卸载特定设备:

    umount /dev/sdb1

    这将卸载 /dev/sdb1 设备。

常用选项:

  • -l:懒惰卸载,立即卸载但在文件系统不再被使用时才真正完成。
  • -f:强制卸载,即使设备忙也尝试卸载。
  • --timeout:超时时间。

注意事项:

  • 在卸载之前,确保没有进程正在使用该文件系统。
  • 如果有数据未写入,则可能会导致数据丢失。

修改超时卸载时间:

        在 NFS(网络文件系统)中,修改默认的超时卸载时间可以通过调整挂载选项来实现。NFS 的挂载通常是在 /etc/fstab 文件中配置,也可以在命令行中使用 mount 命令进行挂载。以下是如何修改默认超时卸载时间的方法:

(1). mount 命令:

在挂载 NFS 文件系统时,可以使用 timeoretrans 选项来控制超时行为。

  • timeo:设置 NFS 客户端的请求超时时间(以 1/10 秒为单位)
  • retrans:设置请求失败后重试的次数。

例如,假设你想设置超时时间为 30 秒(即 300 个 1/10 秒),并指定重试次数为 5,可以使用如下命令:

mount -o timeo=300,retrans=5 nfs_server:/path/to/share /mnt/mountpoint

(2). 修改 /etc/fstab

如果希望在系统启动时自动挂载 NFS,并应用相同的超时设置,可以将挂载选项添加到 /etc/fstab 文件中。示例如下:

nfs_server:/path/to/share /mnt/mountpoint nfs defaults,timeo=300,retrans=5 0 0

注意事项

  • timeo 的单位是 1/10 秒,因此在设置时需要将秒数乘以 10。
  • 调整这些参数时,请根据网络条件和应用需求进行合理配置,以避免过于频繁的重试或过长的等待时间。

(二)Autofs:


       与mount命令不同,autofs服务程序是一种Linux系统守护进程,当检测到用户试图访问一个尚未挂载的文件系统时,将自动挂载该文件系统。换句话说,将挂载信息填入/etc/fstab文件后,系统在每次开机时都自动将其挂载,而autofs服务程序则是在用户需要使用该文件系统时才去动态挂载,从而节约了网络资源和服务器的硬件资源。

        autofs的缺点:autofs特点是只有⽤户请求时才执⾏挂载,所以当⾼并发访问时,开始请求的瞬间需要执⾏挂载,性能较差,因此在⾼并发业务场景下,宁愿保持挂载也不使⽤autofs⾃动挂载。 

autofs工作原理主要基于以下几个关键概念和步骤:

1. 挂载点和配置

autofs 通过配置文件来定义挂载点以及每个挂载点所对应的具体文件系统。最常用的配置文件是 /etc/auto.master 和相应的子配置文件(如 /etc/auto.mnt)。在这些文件中,你可以指定需要自动挂载的目录及其挂载选项。

2. 事件驱动

autofs 的核心原理是事件驱动。当用户尝试访问一个未挂载的目录时,autofs 会检测到这个访问请求并触发挂载操作。这种机制使得只有在需要时才会挂载文件系统,从而节省了系统资源。

3. 后台守护进程

autofs 由一个后台守护进程运行,通常为 automountd。该守护进程负责监视挂载请求,并根据配置文件中的设定自动执行挂载和卸载操作。

4. 超时机制

一旦文件系统被挂载,autofs 会启动一个超时计时器。如果在预设的时间内没有任何对该挂载点的访问,autofs 将自动卸载该文件系统。这一特性可以减少不必要的资源占用,同时提高系统性能。

5. 挂载方式

在挂载时,autofs 会调用相应的挂载命令(如 mount),并使用配置文件中指定的选项进行挂载。例如,对于 NFS,可以指定远程服务器和共享路径。

6. 错误处理

当发生错误(如网络问题)导致挂载失败时,autofs 能够处理这些错误,并根据配置中的选项决定如何响应,例如是否重试或返回错误信息。

autofs 的设计理念是将挂载操作与用户的实际需求紧密结合,通过事件驱动和超时机制实现高效的资源管理。其主要优点包括:

  • 节省资源:仅在需要时挂载文件系统。
  • 简化用户操作:用户无需手动挂载或卸载文件系统。
  • 自动管理:能够自动卸载不再使用的文件系统。

这种机制特别适合于需要频繁访问网络文件系统(如 NFS)的环境,提高了访问效率和用户体验。

7. 配置autofs

autofs 是一种用于自动挂载文件系统的工具,通常用于在 Linux 系统上动态挂载 NFS 或其他类型的文件系统。它使用主配置文件和子配置文件来定义挂载规则和行为。

主配置文件格式

主配置文件通常位于 /etc/auto.master,其格式如下:

/path/to/mountpoint /etc/auto.subfile --timeout=60

解释:

  • /path/to/mountpoint:指定要挂载的目录(挂载点)。

  • /etc/auto.subfile:指向包含子配置的文件。

  • --timeout=60:可选参数,设置超时时间,表示在闲置 60 秒后卸载挂载点。

子配置文件格式

子配置文件的格式通常是在指定的文件中定义,假设为 /etc/auto.subfile,其格式如下:

key -options nfs_server:/path/to/share

解释:

  • key:挂载点的关键字,通常是该挂载点的名称,它将成为 /path/to/mountpoint/key 的实际挂载点。

  • -options:挂载选项,如 rw(读写)、ro(只读)等。

  • nfs_server:/path/to/share:指定要挂载的 NFS 服务器及共享路径。

示例

主配置文件 (/etc/auto.master)

/mnt/nfs /etc/auto.nfs --timeout=60

子配置文件 (/etc/auto.nfs)

data1 -fstype=nfs,rw nfs_server:/export/data1 data2 -fstype=nfs,ro nfs_server:/export/data2

在这个示例中,当访问 /mnt/nfs/data1 时,autofs 会自动挂载 nfs_server:/export/data1,并且允许读写;访问 /mnt/nfs/data2 时,则会自动挂载 nfs_server:/export/data2,但为只读模式。

总结

  • 主配置文件:定义了挂载点和关联的子配置文件,以及一些全局选项。

  • 子配置文件:定义具体的挂载规则,包括挂载的关键字、选项和目标资源。

7.1 安装autofs

        客户端安装即可

yum -y install autofs

        注意,刚才做NFS实验时,服务端和客户端都下载rpcbindnfs-utils ,如果没下再次下载即可

yum -y install nfs-utils rpcbind

        本次autofs实验是基于上面NFS的,所以我们的autofs结合NFS一同实现自动挂载,服务端基本不变,我们主要修改客户端配置。先配置服务端,这里就不多讲了,和前面类似。

        记得做好防火墙和selinux的相关配置,并且确保相关服务都开启了。

7.2 服务端配置
mkdir -p /usr/elysia
chmod 777 /usr/elysia
echo "/usr/elysia 192.168.240.*(rw,sync,no_root_squash)" >> /etc/exports
exportfs -rv
[root@node1 elysia]# exportfs -rv
exporting 192.168.240.*:/mnt/shared
exporting 192.168.240.*:/usr/elysia
7.3 客户端配置

(1). 使用showmount命令查看服务端的可共享目录。

showmount -e 192.168.240.151
[root@node2 ~]# showmount -e 192.168.240.151
Export list for 192.168.240.151:
/mnt/shared 192.168.240.*
/usr/seele  192.168.240.*
/usr/elysia 192.168.240.* #目标目录

        包含了我们服务端创建的/usr/elysia目录。

(2). 修改主配置文件

vim /etc/auto.master
加入以下行
/data   /etc/auto.misc #/data是我们想要挂载的目录的父目录

(3). 修改子配置文件

vim /etc/auto.misc
加入以下行
elysia  -rw     192.168.240.151:/usr/elysia

        注意,子配置文件的命名不一定要以".misc"为后缀。成功挂载并且cd后会自动生成/data/elysia目录

(4). 重启autofs服务

systemctl restart autofs

(5). 测试

        客户端切换到/data目录,查看是否存在/data/elysia

[root@node2 ~]# df -h | grep elysia
[root@node2 ~]#                    #不存在

        cd到/data/elysia。

[root@node2 ~]# df -h | grep elysia
[root@node2 ~]# cd /data/elysia
[root@node2 elysia]# df -h | grep elysia
192.168.240.151:/usr/elysia   18G  5.1G   13G  29% /data/elysia
#出现挂载目录,auto配置完成
7.4 补充:
/etc/auto.master配置可选参数
参数实现功能
fg/bgfg表示挂载行为在前台执行,bg表示挂载行为在后台执行。前台执行,则mount会持续尝试挂载,直到成功或超时为止。后台执行,mount会在后台持续多次进行mount,不会影响到前台的程序运行。
soft/hardhard表示当两者之间的任何一台主机脱机,则RPC会持续地呼叫,直到对方恢复连接为止。如果是soft的话,那RPC会在超时后重复呼叫,非持续呼叫
intr当使用hard方式挂载时,若加上intr这个参数,则当RPC持续呼叫时,该次的呼叫是可以被中断的
rsize/wsize读出(rsize)与写入(wsize)的区块大小,设置值可以影响客户端与服务器端传输数据的缓冲记忆容量

相关文章:

linux部署NFS和autofs自动挂载

目录 &#xff08;一&#xff09;NFS&#xff1a; 1. 什么是NFS 2. NFS守护进程 3. RPC服务 4. 原理 5. 部署 5.1 安装NFS服务 5.2 配置防火墙 5.3 创建服务端共享目录 5.4 修改服务端配置文件 (1). /etc/exports (2). nfs.conf 5.5 启动nfs并加入自启 5.6 客户端…...

WPF RadioButton 绑定boolean值

<RadioButtonMargin"5"Content"替换"IsChecked"{Binding CorrectionOption.ReCorrectionMode}" /> <RadioButtonMargin"5"Content"平均"IsChecked"{Binding CorrectionOption.ReCorrectionMode, Converter{St…...

2024 ciscn WP

一、MISC 1.火锅链观光打卡 打开后连接自己的钱包&#xff0c;然后点击开始游戏&#xff0c;答题八次后点击获取NFT&#xff0c;得到有flag的图片 没什么多说的&#xff0c;知识问答题 兑换 NFT Flag{y0u_ar3_hotpot_K1ng} 2.Power Trajectory Diagram 方法1&#xff1a; 使用p…...

代码随想录--字符串--重复的子字符串

题目 给定一个非空的字符串&#xff0c;判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母&#xff0c;并且长度不超过10000。 示例 1: 输入: "abab" 输出: True 解释: 可由子字符串 "ab" 重复两次构成。示例 2: 输入: "…...

No.5 笔记 | 网络端口协议概览:互联网通信的关键节点

1. 常用端口速览表 端口范围主要用途1-1023系统或特权端口1024-49151注册端口49152-65535动态或私有端口 远程访问类&#xff08;20-23&#xff09; 端口服务记忆技巧安全风险21FTP"File Transfer Port"爆破、嗅探、溢出、后门22SSH"Secure Shell"爆破、…...

手机地址IP显示不对?别急,这里有解决方案

在当今的数字化生活中&#xff0c;手机已成为我们连接世界的重要工具。而手机的IP地址&#xff0c;作为我们在网络上的“身份证”&#xff0c;其准确性对于网络体验至关重要。然而&#xff0c;有时我们可能会遇到手机IP地址显示不正确的问题&#xff0c;这不仅会影响网络连接质…...

人工智能对未来工作影响的四种可能性

随着人工智能&#xff08;AI&#xff09;技术的迅速发展&#xff0c;其对人类工作的影响已成为讨论的热点话题。我们经常听到有关AI威胁论的观点&#xff0c;担心它将取代人类工作&#xff0c;但也有专家认为AI将成为一种辅助工具&#xff0c;帮助人类提升工作效率。宾夕法尼亚…...

SpringBoot+ElasticSearch7.12.1+Kibana7.12.1简单使用

案例简介 本案例是把日志数据保存到Elasticsearch的索引中&#xff0c;并通过Kibana图形化界面的开发工具给查询出来添加的日志数据&#xff0c;完成从0到1的简单使用 ElasticSearch职责用法简介 ElasticSearch用在哪 ElasticSearch在我这个案例中&#xff0c;不是用来缓解增…...

RESTful风格接口+Swagger生成Web API文档

RESTful风格接口Swagger生成Web API文档 文章目录 RESTful风格接口Swagger生成Web API文档1.RESTful风格接口RESTful简介RESTful详细图示常见http状态码springboot实现RESTfulRESTful springboot设计实例demo 2.Swagger生产Web API文档Swagger简介使用Swagger1.加入依赖2.配置S…...

性能测试学习2:常见的性能测试策略(基准测试/负载测试/稳定性测试/压力测试/并发测试)

一.基准测试 1&#xff09;概念 狭义上讲&#xff1a;就是单用户测试。测试环境确定后&#xff0c;对业务模型中的重要业务做单独的测试&#xff0c;获取单用户运行时的各项性能指标。 广义上&#xff1a;是一种测量和评估软件性能指标的活动。可以在某个时刻通过基准测试建立…...

【C++】—— 继承(上)

【C】—— 继承&#xff08;上&#xff09; 1 继承的概念与定义1.1 继承的概念1.2 继承定义1.2.1 定义格式1.2.2 继承父类成员访问方式的变化 1.3 继承类模板 2 父类和子类对象赋值兼容转换3 继承中的作用域3.1 隐藏规则3.2 例题 4 子类的默认成员函数4.1 构造函数4.1.1 父类有…...

【2024保研经验帖】东南大学计算机学院夏令营

前言 背景&#xff1a;末211&#xff0c;专业计算机科学与技术&#xff0c;rk前5%&#xff0c;无科研&#xff0c;只有几个竞赛 东南大学计算机学院夏令营需要老师推荐&#xff0c;一个老师的推荐名额感觉应该挺多的&#xff0c;因为学硕和专硕都进了两百多人&#xff0c;总共…...

dz论坛可可积分商城插件价值399元

界面简洁美观大方&#xff0c;适合各类站点。支持多用户商城&#xff0c;可让商家入驻站点发布商品&#xff0c;亦可站长自己发布商品。支持向商家抽佣抽成功能&#xff0c;可设置商家在成交商品后按一定比例扣除抽成&#xff0c;达到网站盈利目的采用队列技术处理&#xff0c;…...

python的extend和append

在Python中&#xff0c;list的append和extend方法都是用来向列表添加元素的&#xff0c;但它们之间有一些关键的区别&#xff1a; append方法&#xff1a; append方法用于将一个对象添加到列表的末尾。无论添加的对象是什么类型&#xff08;整数、字符串、列表等&#xff09;&a…...

贪心算法相关知识

目录 基础 定义 工作原理 步骤一&#xff1a;分解问题 步骤二&#xff1a;确定贪心策略 步骤三&#xff1a;求解子问题 步骤四&#xff1a;合并结果 适用场景 活动安排问题 找零问题 哈夫曼编码 局限性 高级 与动态规划的对比 决策方式 最优性保证 时间复杂度和…...

济南比较出名的人物颜廷利:全球最具影响力的思想家起名大师

颜廷利教授是一位在思想、哲学、教育、易学、国学、心理学、命名学等多个领域具有深远影响的学者。他被誉为“世界点赞第一人”&#xff0c;在国内外享有极高的声誉&#xff0c;被认为是现代易经三大泰斗之首。山东目前比较厉害的名人颜廷利教授的学术成就和影响力横跨哲学、思…...

第100+27步 ChatGPT学习:概率校准 Temperature Scaling

基于Python 3.9版本演示 一、写在前面 最近看了一篇在Lancet子刊《eClinicalMedicine》上发表的机器学习分类的文章&#xff1a;《Development of a novel dementia risk prediction model in the general population: A large, longitudinal, population-based machine-learn…...

Python知识点:如何应用Python工具,使用NLTK进行语言模型构建

开篇&#xff0c;先说一个好消息&#xff0c;截止到2025年1月1日前&#xff0c;翻到文末找到我&#xff0c;赠送定制版的开题报告和任务书&#xff0c;先到先得&#xff01;过期不候&#xff01; 如何使用NLTK进行语言模型构建 在自然语言处理&#xff08;NLP&#xff09;中&a…...

深入浅出MySQL

深入浅出MySQL 以下内容参考自 《MySQL是怎样运行的&#xff1a;从根儿上理解MySQL》一书&#xff0c;强烈推荐 存储引擎 对于不同的表可以设置不同的存储引擎 CREATE TABLE tableName (xxxx ) ENGINE 引擎名称; # 修改 ALTER TABLE tableName ENGINE xxx; 编码格式 my…...

【WRF工具】cmip6-to-wrfinterm工具概述:生成WRF中间文件

cmip6-to-wrfinterm工具概述 cmip6-to-wrfinterm工具安装cmip6-to-wrfinterm工具使用快速启动&#xff08;Quick start&#xff09;情景1&#xff1a;MPI-ESM-1-2-HR&#xff08;默认&#xff09;&#xff1a;情景2&#xff1a;BCMM情景3&#xff1a;EC-Earth3 更改使用&#x…...

大厂面试真题:阿里经典双重检测DCL对象半初始化问题

阿里面试题中提到的双重检测DCL&#xff08;Double-Checked Locking&#xff09;对象半初始化问题&#xff0c;是Java多线程编程中一个经典的问题。以下是对这一问题的详细解析&#xff1a; 一、双重检测锁&#xff08;DCL&#xff09;概述 双重检测锁是一种用于实现单例模式…...

20款奔驰CLS300升级原厂抬头显示HUD 23P智能辅助驾驶 触摸屏人机交互系统

以下是为您生成的一份关于 18 款奔驰 CLS 老款改新款的改装文案&#xff1a; 18 款奔驰 CLS 老款改新款&#xff1a;科技升级&#xff0c;畅享极致驾驶体验 在汽车改装的世界里&#xff0c;每一次的升级都是对卓越的追求。今天&#xff0c;让我们一同探索 18 款奔驰 CLS 老款改…...

GoogleNet原理与实战

在2014年的ImageNet图像识别挑战赛中&#xff0c;一个名叫GoogLeNet 的网络架构大放异彩。以前流行的网络使用小到11&#xff0c;大到77的卷积核。本文的一个观点是&#xff0c;有时使用不同大小的卷积核组合是有利的。 回到他那个图里面你会发现,这里的一个通过我们最大的池化…...

MongoDB 数据库服务搭建(单机)

下载地址 下载测试数据 作者&#xff1a;程序那点事儿 日期&#xff1a;2023/02/15 02:16 进入下载页&#xff0c;选择版本后&#xff0c;右键Download复制连接地址 下载安装包 ​ wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-5.0.14.tgz​ …...

基于springboot+小程序的智慧物业平台管理系统(物业1)

&#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1、项目介绍 智慧物业平台管理系统按照操作主体分为管理员和用户。 1、管理员的功能包括报修管理、投诉管理管理、车位管理、车位订单管理、字典管理、房屋管理、公告管理、缴费管理、维修指派管理、…...

[SpringBoot] 苍穹外卖--面试题总结--上

前言 1--苍穹外卖-SpringBoot项目介绍及环境搭建 详解-CSDN博客 2--苍穹外卖-SpringBoot项目中员工管理 详解&#xff08;一&#xff09;-CSDN博客 3--苍穹外卖-SpringBoot项目中员工管理 详解&#xff08;二&#xff09;-CSDN博客 4--苍穹外码-SpringBoot项目中分类管理 详…...

[C#]使用onnxruntime部署yolov11-onnx实例分割模型

【官方框架地址】 https://github.com/ultralytics/ultralytics.git 【算法介绍】 在C#中使用ONNX Runtime部署YOLOv11-ONNX实例分割模型&#xff0c;涉及到模型的加载、数据预处理、模型推理和后处理几个关键步骤。 首先&#xff0c;需要确保已经安装了ONNX Runtime的NuGe…...

Polars的Config

Config Config 内容使用示例设置并行执行设置日志详细程度指定null值设置推断schema的行数启用低内存模式获取当前配置选项的值 在Polars的Python API中&#xff0c;Config部分提供了配置选项&#xff0c;允许用户自定义Polars的行为。以下是一些可配置的选项及其使用示例&…...

【面试官】 多态连环问

以下是一些关于封装的常见面试题及答案&#xff1a; 封装 1. 什么是封装&#xff1f; 答案&#xff1a;封装是面向对象编程的三大特性之一&#xff0c;它是将数据和操作数据的方法绑定在一起&#xff0c;并且通过访问修饰符限制对数据的直接访问&#xff0c;只提供特定的方法来…...

Vue 路由设置

为了防止遗忘&#xff0c;记录一下用Vue写前端配置路由时的过程&#xff0c;方便后续再需要用到时回忆。 一、举个例子 假如需要实现这样的界面逻辑&#xff1a; 在HomePage中有一组选项卡按钮用于导航到子页面&#xff0c;而子页面Page1中有一个按钮&#xff0c;其响应事件是…...