Linux中nfs的简单设置
NFS 是一个不错的共享存储系统,不过就是在高负载情况下性能不是太好。
这是很久之前写的东西了,有什么错误希望大家指正:)
10.0.0.1 - NFS Server
10.0.0.2 - NFS Client
在NFS Server上:
===============
共享目录:/nfspool
NFS 运行用户:nfsnobody
# mkdir /nfspool
# vi /etc/exports
/nfspool 10.0.0.2(rw,async,anonuid=65534,anongid=65534)
# mkdir -p /nfspool
# chown nfsnobody:nfsnobody /nfspool
# chown -R nfsnobody:nfsnobody /nfspool/.
# service portmap start
# service nfslock start
# service nfs start
在NFS Client上:
===============
远程 NFS 共享目录挂载点:/usr/local/nfs
# service portmap start
# mkdir /usr/local/nfs
# chown nfsnobody:nfsnobody /usr/local/nfs
# chmod 777 /usr/local/nfs
# mount -t nfs -o soft,intr,bg,timeo=50 10.0.0.1:/nfspool /usr/local/nfs
# vi /etc/fstab
10.0.0.1:/nfspool /usr/local/nfs nfs soft,intr,bg,timeo=50 0 0
说明 & 注意
===========
1、exports参数说明
------------------
rw: 读写模式;
async: 异步磁盘读写;
anonu(g)id: 指定NFS在进行操作时所使用的匿名用户uid/gid
2、NFS 管理命令
---------------
showmount -e 在NFS Server上执行此命令显示NFS Server上所有的共享卷;
showmount -e 10.0.0.1 在NFS Client上执行此命令显示NFS Server上所有共享卷;
export -av 根据/etc/exports导出所有卷;
export -rv 重新导出所有卷,增加/etc/exports中的新项目、删除不存在的项目、更新改变的项目;
3、NFS 相关文件
---------------
/etc/exports
是NFS Server最基本的配置文件之一,文件中列出了共享的文件系统和允许访问这些文件系统的主机。
/proc/fs/nfs/exports
导出文件列表的内核视图,包括导出的参数。
/var/lib/nfs/etab
状态文件,其中列出了当前的高级列表。此文件包含了/etc/exports中相同格式的所有项目,同时包含了由exportfs -i手工导入的项目。
/var/lib/nfs/rmtab
状态文件,列出了挂接导出文件的远程客户机清单。
/var/lib/nfs/xtab
状态文件,当前底层导出清单。
4、/etc/exports 中client的书写规则
----------------------------------
(1) 单个主机
可以用短名及完全限定名,或者用IP地址,例如student01、student01.flying.com.cn或者192.168.10.1都是合法的主机名。
(2) Net-Group
可以列出/etc/netgroup文件中或NFS网组映射中定义的整组主机。网组名以@开头。
(3) 通配符主机
*.discuz.net *.*.comsenz.com
(4) 掩码
192.168.1.0/255.255.255.0
5、起停顺序
-----------
启动:
portmap
nfslock
nfs
停止:
nfslock
nfs
portmap
6、安全性
---------
portmap: 111
NFS: 2049
防止使用IP欺骗和RPC重定向技术通过lo回环进行攻击以及限定授权主机:
iptables -A INPUT -p udp -d 127.0.0.1 --dport 111 -j DROP
iptables -A INPUT -p udp -d 127.0.0.1 --dport 2049 -j DROP
iptables -A INPUT -p udp -s 10.0.0.2 --dport 111 -j ACCEPT
iptables -A INPUT -p udp -s 10.0.0.2 --dport 2049 -j ACCEPT
=============================================================
nfs的优化

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Pour ouvrir un fichier web.xml, vous pouvez utiliser les méthodes suivantes: Utilisez un éditeur de texte (tel que le bloc-notes ou TextEdit) pour modifier les commandes à l'aide d'un environnement de développement intégré (tel qu'Eclipse ou NetBeans) (Windows: Notepad web.xml; Mac / Linux: Open -A TextEdit web.xml)

Le multithreading dans la langue peut considérablement améliorer l'efficacité du programme. Il existe quatre façons principales d'implémenter le multithreading dans le langage C: créer des processus indépendants: créer plusieurs processus en cours d'exécution indépendante, chaque processus a son propre espace mémoire. Pseudo-Multithreading: Créez plusieurs flux d'exécution dans un processus qui partagent le même espace mémoire et exécutent alternativement. Bibliothèque multi-thread: Utilisez des bibliothèques multi-threades telles que PTHEADS pour créer et gérer des threads, en fournissant des fonctions de fonctionnement de thread riches. Coroutine: une implémentation multi-thread légère qui divise les tâches en petites sous-tâches et les exécute tour à tour.

Linux est mieux utilisé comme gestion de serveurs, systèmes intégrés et environnements de bureau. 1) Dans la gestion des serveurs, Linux est utilisé pour héberger des sites Web, des bases de données et des applications, assurant la stabilité et la fiabilité. 2) Dans les systèmes intégrés, Linux est largement utilisé dans les systèmes électroniques intelligents et automobiles en raison de sa flexibilité et de sa stabilité. 3) Dans l'environnement de bureau, Linux fournit des applications riches et des performances efficaces.

Debianlinux est connu pour sa stabilité et sa sécurité et est largement utilisé dans les environnements de serveur, de développement et de bureau. Bien qu'il y ait actuellement un manque d'instructions officielles sur la compatibilité directe avec Debian et Hadoop, cet article vous guidera sur la façon de déployer Hadoop sur votre système Debian. Exigences du système Debian: Avant de commencer la configuration de Hadoop, assurez-vous que votre système Debian répond aux exigences de fonctionnement minimales de Hadoop, qui comprend l'installation de l'environnement d'exécution Java (JRE) nécessaire et des packages Hadoop. Étapes de déploiement de Hadoop: Télécharger et unzip Hadoop: Téléchargez la version Hadoop dont vous avez besoin sur le site officiel d'Apachehadoop et résolvez-le

Dois-je installer un client Oracle lors de la connexion à une base de données Oracle à l'aide de Go? Lorsque vous développez GO, la connexion aux bases de données Oracle est une exigence commune ...

"Debianstrings" n'est pas un terme standard, et sa signification spécifique n'est pas encore claire. Cet article ne peut pas commenter directement la compatibilité de son navigateur. Cependant, si "DebianStrings" fait référence à une application Web exécutée sur un système Debian, sa compatibilité du navigateur dépend de l'architecture technique de l'application elle-même. La plupart des applications Web modernes se sont engagées à compatibilité entre les navigateurs. Cela repose sur les normes Web suivantes et l'utilisation de technologies frontales bien compatibles (telles que HTML, CSS, JavaScript) et les technologies back-end (telles que PHP, Python, Node.js, etc.). Pour s'assurer que l'application est compatible avec plusieurs navigateurs, les développeurs doivent souvent effectuer des tests croisés et utiliser la réactivité

Les principales raisons pour lesquelles vous ne pouvez pas vous connecter à MySQL en tant que racines sont des problèmes d'autorisation, des erreurs de fichier de configuration, des problèmes de mot de passe incohérents, des problèmes de fichiers de socket ou une interception de pare-feu. La solution comprend: vérifiez si le paramètre Bind-Address dans le fichier de configuration est configuré correctement. Vérifiez si les autorisations de l'utilisateur racine ont été modifiées ou supprimées et réinitialisées. Vérifiez que le mot de passe est précis, y compris les cas et les caractères spéciaux. Vérifiez les paramètres et les chemins d'autorisation du fichier de socket. Vérifiez que le pare-feu bloque les connexions au serveur MySQL.

J'ai développé un projet appelé Lua-Libuv et je suis heureux de partager mon expérience. L'intention initiale du projet est d'explorer comment utiliser Libuv (une bibliothèque d'E / S asynchrone écrite en c) pour créer un serveur HTTP simple sans avoir à apprendre le langage C en profondeur. Avec l'aide de Chatgpt, j'ai terminé le code de base de HTTP.C. Lorsque je traite des connexions persistantes, j'ai réussi à mettre en œuvre la clôture de la connexion et à libérer les ressources au bon moment. Au début, j'ai essayé de créer un serveur simple qui a mis fin au programme principal en fermant la connexion, mais j'ai eu quelques problèmes. J'ai essayé d'envoyer des blocs de données à l'aide de streaming, et pendant que cela fonctionne, cela bloque le thread principal. En fin de compte, j'ai décidé d'abandonner cette approche parce que mon objectif n'était pas d'apprendre la langue C en profondeur. Enfin, je
