[{"data":1,"prerenderedAt":498},["ShallowReactive",2],{"navigation_docs":3,"-infrastructure-block-storage":134,"-infrastructure-block-storage-surround":493},[4,36,61,87,113],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":35},"Getting Started","i-lucide-rocket","\u002Fgetting-started","1.getting-started",[10,15,20,25,30],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction","i-lucide-sparkles",{"title":16,"path":17,"stem":18,"icon":19},"Quickstart","\u002Fgetting-started\u002Fquickstart","1.getting-started\u002F2.quickstart","i-lucide-zap",{"title":21,"path":22,"stem":23,"icon":24},"Authentication","\u002Fgetting-started\u002Fauthentication","1.getting-started\u002F3.authentication","i-lucide-key",{"title":26,"path":27,"stem":28,"icon":29},"Rate Limits & Quotas","\u002Fgetting-started\u002Frate-limits-quotas","1.getting-started\u002F4.rate-limits-quotas","i-lucide-gauge",{"title":31,"path":32,"stem":33,"icon":34},"SDKs & Tools","\u002Fgetting-started\u002Fsdks-tools","1.getting-started\u002F5.sdks-tools","i-lucide-box",false,{"title":37,"icon":38,"path":39,"stem":40,"children":41,"page":35},"Cloud Infrastructure","i-lucide-server","\u002Finfrastructure","2.infrastructure",[42,46,51,56],{"title":43,"path":44,"stem":45,"icon":38},"Cloud VPS Compute","\u002Finfrastructure\u002Fvps-compute","2.infrastructure\u002F1.vps-compute",{"title":47,"path":48,"stem":49,"icon":50},"Managed Databases","\u002Finfrastructure\u002Fmanaged-databases","2.infrastructure\u002F2.managed-databases","i-lucide-database",{"title":52,"path":53,"stem":54,"icon":55},"Networking & Cloud Firewall","\u002Finfrastructure\u002Fnetworking-firewall","2.infrastructure\u002F3.networking-firewall","i-lucide-shield",{"title":57,"path":58,"stem":59,"icon":60},"Block Storage & Volumes","\u002Finfrastructure\u002Fblock-storage","2.infrastructure\u002F4.block-storage","i-lucide-hard-drive",{"title":62,"icon":63,"path":64,"stem":65,"children":66,"page":35},"Services & APIs","i-lucide-cpu","\u002Fservices-api","3.services-api",[67,72,77,82],{"title":68,"path":69,"stem":70,"icon":71},"REST API Reference","\u002Fservices-api\u002Fapi-reference","3.services-api\u002F1.api-reference","i-lucide-terminal",{"title":73,"path":74,"stem":75,"icon":76},"URL Shortener API","\u002Fservices-api\u002Furl-shortener","3.services-api\u002F2.url-shortener","i-lucide-link",{"title":78,"path":79,"stem":80,"icon":81},"Temp Mail API","\u002Fservices-api\u002Ftemp-mail","3.services-api\u002F3.temp-mail","i-lucide-mail",{"title":83,"path":84,"stem":85,"icon":86},"Developer Utility APIs","\u002Fservices-api\u002Fdeveloper-utilities","3.services-api\u002F4.developer-utilities","i-lucide-wrench",{"title":88,"icon":89,"path":90,"stem":91,"children":92,"page":35},"Guides & Tutorials","i-lucide-book-open","\u002Fguides","4.guides",[93,98,103,108],{"title":94,"path":95,"stem":96,"icon":97},"Deploy a Full-Stack App with VPS & PostgreSQL","\u002Fguides\u002Fdeploy-fullstack-app","4.guides\u002F1.deploy-fullstack-app","i-lucide-layers",{"title":99,"path":100,"stem":101,"icon":102},"Automated Backups & Webhook Alerts","\u002Fguides\u002Fautomated-backups-webhook","4.guides\u002F2.automated-backups-webhook","i-lucide-bell",{"title":104,"path":105,"stem":106,"icon":107},"E2E Auth Testing with Temp Mail in CI\u002FCD","\u002Fguides\u002Fci-cd-temp-mail-testing","4.guides\u002F3.ci-cd-temp-mail-testing","i-lucide-check-circle-2",{"title":109,"path":110,"stem":111,"icon":112},"Custom Domain & SSL Configuration","\u002Fguides\u002Fcustom-domain-setup","4.guides\u002F4.custom-domain-setup","i-lucide-globe",{"title":114,"icon":115,"path":116,"stem":117,"children":118,"page":35},"Account & Billing","i-lucide-credit-card","\u002Faccount-billing","5.account-billing",[119,124,129],{"title":120,"path":121,"stem":122,"icon":123},"Pricing & Hourly Billing","\u002Faccount-billing\u002Fpricing-billing","5.account-billing\u002F1.pricing-billing","i-lucide-receipt",{"title":125,"path":126,"stem":127,"icon":128},"Team Management & RBAC","\u002Faccount-billing\u002Fteam-rbac","5.account-billing\u002F2.team-rbac","i-lucide-users",{"title":130,"path":131,"stem":132,"icon":133},"Resource Quotas & Service Limits","\u002Faccount-billing\u002Fservice-limits","5.account-billing\u002F3.service-limits","i-lucide-sliders",{"id":135,"title":57,"body":136,"description":484,"extension":485,"links":486,"meta":487,"navigation":488,"path":58,"seo":489,"stem":59,"__hash__":492},"docs\u002F2.infrastructure\u002F4.block-storage.md",{"type":137,"value":138,"toc":477},"minimark",[139,143,151,154,159,187,189,193,307,312,368,372,375,473],[140,141,57],"h1",{"id":142},"block-storage-volumes",[144,145,146,150],"p",{},[147,148,149],"strong",{},"1st Block Storage"," provides network-attached, triple-replicated NVMe volumes designed for high IOPS workloads like database directories, media storage, and Docker volumes.",[152,153],"hr",{},[155,156,158],"h2",{"id":157},"volume-features","Volume Features",[160,161,162,169,175,181],"ul",{},[163,164,165,168],"li",{},[147,166,167],{},"Up to 100,000 IOPS",": Extreme random read\u002Fwrite throughput with low access latency.",[163,170,171,174],{},[147,172,173],{},"Triple Replication",": Every byte is written across 3 physically isolated storage nodes.",[163,176,177,180],{},[147,178,179],{},"Live Volume Resizing",": Expand volume capacity up to 32 TB without unmounting or rebooting.",[163,182,183,186],{},[147,184,185],{},"Automated Snapshots",": Point-in-time volume snapshots for disaster recovery.",[152,188],{},[155,190,192],{"id":191},"creating-attaching-a-volume","Creating & Attaching a Volume",[194,195,201],"pre",{"className":196,"code":197,"filename":198,"language":199,"meta":200,"style":200},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","curl -X POST https:\u002F\u002Fapi.1st-services.com\u002Fv1\u002Fstorage\u002Fvolumes \\\n  -H \"Authorization: Bearer $FIRST_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"name\": \"data-volume-01\",\n    \"size_gb\": 200,\n    \"region\": \"us-east-1\",\n    \"filesystem\": \"ext4\"\n  }'\n","cURL Create Volume","bash","",[202,203,204,227,248,262,274,280,286,292,298],"code",{"__ignoreMap":200},[205,206,209,213,217,220,223],"span",{"class":207,"line":208},"line",1,[205,210,212],{"class":211},"sBMFI","curl",[205,214,216],{"class":215},"sfazB"," -X",[205,218,219],{"class":215}," POST",[205,221,222],{"class":215}," https:\u002F\u002Fapi.1st-services.com\u002Fv1\u002Fstorage\u002Fvolumes",[205,224,226],{"class":225},"sTEyZ"," \\\n",[205,228,230,233,237,240,243,246],{"class":207,"line":229},2,[205,231,232],{"class":215},"  -H",[205,234,236],{"class":235},"sMK4o"," \"",[205,238,239],{"class":215},"Authorization: Bearer ",[205,241,242],{"class":225},"$FIRST_API_KEY",[205,244,245],{"class":235},"\"",[205,247,226],{"class":225},[205,249,251,253,255,258,260],{"class":207,"line":250},3,[205,252,232],{"class":215},[205,254,236],{"class":235},[205,256,257],{"class":215},"Content-Type: application\u002Fjson",[205,259,245],{"class":235},[205,261,226],{"class":225},[205,263,265,268,271],{"class":207,"line":264},4,[205,266,267],{"class":215},"  -d",[205,269,270],{"class":235}," '",[205,272,273],{"class":215},"{\n",[205,275,277],{"class":207,"line":276},5,[205,278,279],{"class":215},"    \"name\": \"data-volume-01\",\n",[205,281,283],{"class":207,"line":282},6,[205,284,285],{"class":215},"    \"size_gb\": 200,\n",[205,287,289],{"class":207,"line":288},7,[205,290,291],{"class":215},"    \"region\": \"us-east-1\",\n",[205,293,295],{"class":207,"line":294},8,[205,296,297],{"class":215},"    \"filesystem\": \"ext4\"\n",[205,299,301,304],{"class":207,"line":300},9,[205,302,303],{"class":215},"  }",[205,305,306],{"class":235},"'\n",[308,309,311],"h3",{"id":310},"attaching-to-a-vps","Attaching to a VPS",[194,313,316],{"className":196,"code":314,"filename":315,"language":199,"meta":200,"style":200},"curl -X POST https:\u002F\u002Fapi.1st-services.com\u002Fv1\u002Fstorage\u002Fvolumes\u002Fvol_88319\u002Fattach \\\n  -H \"Authorization: Bearer $FIRST_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"vps_id\": \"vps_8931274\"}'\n","cURL Attach Volume",[202,317,318,331,345,357],{"__ignoreMap":200},[205,319,320,322,324,326,329],{"class":207,"line":208},[205,321,212],{"class":211},[205,323,216],{"class":215},[205,325,219],{"class":215},[205,327,328],{"class":215}," https:\u002F\u002Fapi.1st-services.com\u002Fv1\u002Fstorage\u002Fvolumes\u002Fvol_88319\u002Fattach",[205,330,226],{"class":225},[205,332,333,335,337,339,341,343],{"class":207,"line":229},[205,334,232],{"class":215},[205,336,236],{"class":235},[205,338,239],{"class":215},[205,340,242],{"class":225},[205,342,245],{"class":235},[205,344,226],{"class":225},[205,346,347,349,351,353,355],{"class":207,"line":250},[205,348,232],{"class":215},[205,350,236],{"class":235},[205,352,257],{"class":215},[205,354,245],{"class":235},[205,356,226],{"class":225},[205,358,359,361,363,366],{"class":207,"line":264},[205,360,267],{"class":215},[205,362,270],{"class":235},[205,364,365],{"class":215},"{\"vps_id\": \"vps_8931274\"}",[205,367,306],{"class":235},[308,369,371],{"id":370},"mounting-inside-your-vps","Mounting Inside Your VPS",[144,373,374],{},"Once attached, format and mount the volume inside Linux:",[194,376,379],{"className":196,"code":377,"filename":378,"language":199,"meta":200,"style":200},"# Verify device name\nlsblk\n\n# Format filesystem (if not pre-formatted)\nmkfs.ext4 \u002Fdev\u002Fdisk\u002Fby-id\u002Fscsi-0FIRST_vol_88319\n\n# Mount to \u002Fmnt\u002Fdata\nmkdir -p \u002Fmnt\u002Fdata\nmount \u002Fdev\u002Fdisk\u002Fby-id\u002Fscsi-0FIRST_vol_88319 \u002Fmnt\u002Fdata\n\n# Add to \u002Fetc\u002Ffstab for persistence\necho '\u002Fdev\u002Fdisk\u002Fby-id\u002Fscsi-0FIRST_vol_88319 \u002Fmnt\u002Fdata ext4 defaults,noatime,_netdev 0 0' >> \u002Fetc\u002Ffstab\n","Bash inside VPS",[202,380,381,387,392,398,403,411,415,420,431,441,446,452],{"__ignoreMap":200},[205,382,383],{"class":207,"line":208},[205,384,386],{"class":385},"sHwdD","# Verify device name\n",[205,388,389],{"class":207,"line":229},[205,390,391],{"class":211},"lsblk\n",[205,393,394],{"class":207,"line":250},[205,395,397],{"emptyLinePlaceholder":396},true,"\n",[205,399,400],{"class":207,"line":264},[205,401,402],{"class":385},"# Format filesystem (if not pre-formatted)\n",[205,404,405,408],{"class":207,"line":276},[205,406,407],{"class":211},"mkfs.ext4",[205,409,410],{"class":215}," \u002Fdev\u002Fdisk\u002Fby-id\u002Fscsi-0FIRST_vol_88319\n",[205,412,413],{"class":207,"line":282},[205,414,397],{"emptyLinePlaceholder":396},[205,416,417],{"class":207,"line":288},[205,418,419],{"class":385},"# Mount to \u002Fmnt\u002Fdata\n",[205,421,422,425,428],{"class":207,"line":294},[205,423,424],{"class":211},"mkdir",[205,426,427],{"class":215}," -p",[205,429,430],{"class":215}," \u002Fmnt\u002Fdata\n",[205,432,433,436,439],{"class":207,"line":300},[205,434,435],{"class":211},"mount",[205,437,438],{"class":215}," \u002Fdev\u002Fdisk\u002Fby-id\u002Fscsi-0FIRST_vol_88319",[205,440,430],{"class":215},[205,442,444],{"class":207,"line":443},10,[205,445,397],{"emptyLinePlaceholder":396},[205,447,449],{"class":207,"line":448},11,[205,450,451],{"class":385},"# Add to \u002Fetc\u002Ffstab for persistence\n",[205,453,455,459,461,464,467,470],{"class":207,"line":454},12,[205,456,458],{"class":457},"s2Zo4","echo",[205,460,270],{"class":235},[205,462,463],{"class":215},"\u002Fdev\u002Fdisk\u002Fby-id\u002Fscsi-0FIRST_vol_88319 \u002Fmnt\u002Fdata ext4 defaults,noatime,_netdev 0 0",[205,465,466],{"class":235},"'",[205,468,469],{"class":235}," >>",[205,471,472],{"class":215}," \u002Fetc\u002Ffstab\n",[474,475,476],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}",{"title":200,"searchDepth":229,"depth":229,"links":478},[479,480],{"id":157,"depth":229,"text":158},{"id":191,"depth":229,"text":192,"children":481},[482,483],{"id":310,"depth":250,"text":311},{"id":370,"depth":250,"text":371},"High-performance NVMe block storage volumes scalable up to 32TB with live volume resizing.","md",null,{},{"icon":60},{"title":490,"description":491},"Block Storage & Volumes - 1st Services","Attach persistent, redundant NVMe storage volumes to 1st VPS instances.","yZm-y7hlWfXJkgYq8EEe_zgjn7BXUaPhPpvOvaflvgc",[494,496],{"title":52,"path":53,"stem":54,"description":495,"icon":55,"children":-1},"Private VPCs, Anycast floating IPs, automated DDoS filtering, and stateful cloud firewall rules.",{"title":68,"path":69,"stem":70,"description":497,"icon":71,"children":-1},"General API conventions, base URLs, pagination standards, and error payloads for 1st Services.",1787579790343]