{"id":1968,"date":"2010-10-15T19:56:37","date_gmt":"2010-10-15T17:56:37","guid":{"rendered":"http:\/\/daniel.haxx.se\/blog\/?p=1968"},"modified":"2010-10-15T19:56:37","modified_gmt":"2010-10-15T17:56:37","slug":"pnfs-is-my-kind-of-toy","status":"publish","type":"post","link":"https:\/\/daniel.haxx.se\/blog\/2010\/10\/15\/pnfs-is-my-kind-of-toy\/","title":{"rendered":"pNFS is my kind of toy"},"content":{"rendered":"<p style=\"text-align: justify;\">Ok, so NFS has never really been my cup of tea. Complicated and the problem with the root user and locking and what not have always made me get all itchy when thinking about or using NFS.<\/p>\n<p style=\"text-align: justify;\">Enter <a href=\"http:\/\/www.pnfs.com\/\">pNFS<\/a>, the NFS 4.1 invention that truly suddenly makes the NFS technology so much interesting for high performance solutions. I also think\u00c2\u00a0 it is a bit unknown so I thought I&#8217;d help to share the knowledge about this to you my dear readers. The p in pNFS stands for <em>parallel<\/em>. The whole idea is that the single NFS server just provides meta data back to the client, with enough information to allow the client to read the actual payload data directly from the storage server(s), that then supposedly are different ones than the main meta data server<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-1977 aligncenter\" title=\"The pNFS concept explained\" src=\"http:\/\/daniel.haxx.se\/blog\/wp-content\/uploads\/2010\/08\/img_pnfs_standard.jpg\" alt=\"img_pnfs_standard\" width=\"450\" height=\"350\" srcset=\"https:\/\/daniel.haxx.se\/blog\/wp-content\/uploads\/2010\/08\/img_pnfs_standard.jpg 450w, https:\/\/daniel.haxx.se\/blog\/wp-content\/uploads\/2010\/08\/img_pnfs_standard-150x116.jpg 150w, https:\/\/daniel.haxx.se\/blog\/wp-content\/uploads\/2010\/08\/img_pnfs_standard-300x233.jpg 300w\" sizes=\"auto, (max-width: 450px) 100vw, 450px\" \/><\/p>\n<p style=\"text-align: center;\"><em>(picture from <a href=\"http:\/\/www.nexenta.org\/attachments\/download\/13\/img_pnfs_standard.jpg\">www.nexenta.org<\/a>)<\/em><\/p>\n<p style=\"text-align: justify;\">As you can see on this fancy picture, it allows each client to speak directly to the storage device to get or send the data<em>.<\/em> This allows them to avoid using a single bottleneck NFS server.<\/p>\n<p style=\"text-align: justify;\">NFS 4.1 and pNFS<em> <\/em>are IETF standards, <a href=\"http:\/\/tools.ietf.org\/html\/rfc5661\">RFC5661<\/a> to <a href=\"http:\/\/tools.ietf.org\/html\/rfc5664\">RFC5664<\/a>. The first one being 616 pages long and one of the largest RFCs I&#8217;m aware of.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ok, so NFS has never really been my cup of tea. Complicated and the problem with the root user and locking and what not have always made me get all itchy when thinking about or using NFS. Enter pNFS, the NFS 4.1 invention that truly suddenly makes the NFS technology so much interesting for high &hellip; <a href=\"https:\/\/daniel.haxx.se\/blog\/2010\/10\/15\/pnfs-is-my-kind-of-toy\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">pNFS is my kind of toy<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14,13],"tags":[249,421,219],"class_list":["post-1968","post","type-post","status-publish","format-standard","hentry","category-linux","category-net","tag-ietf","tag-linux","tag-network"],"_links":{"self":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts\/1968","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/comments?post=1968"}],"version-history":[{"count":10,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts\/1968\/revisions"}],"predecessor-version":[{"id":2084,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts\/1968\/revisions\/2084"}],"wp:attachment":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/media?parent=1968"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/categories?post=1968"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/tags?post=1968"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}