{"id":8148,"date":"2020-01-01T15:08:27","date_gmt":"2020-01-01T15:08:27","guid":{"rendered":"https:\/\/www.devopsschool.com\/blog\/?p=8148"},"modified":"2025-02-01T22:48:55","modified_gmt":"2025-02-01T22:48:55","slug":"ec2-ebs-volume-demo","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/ec2-ebs-volume-demo\/","title":{"rendered":"EC2 &#8211; EBS Volume Demo:"},"content":{"rendered":"\n<h4 class=\"wp-block-heading\"><em>In this tutorial we are going to Explore and setup extra volume to EC2 instance<\/em><\/h4>\n\n\n\n<h4 class=\"wp-block-heading\">Step 1 &#8211;  Login to AWS console, launch EC2 launch wizard page.<\/h4>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"478\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/01\/Screenshot-2020-01-01-at-7.19.11-PM-1024x478.png\" alt=\"\" class=\"wp-image-8149\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/01\/Screenshot-2020-01-01-at-7.19.11-PM-1024x478.png 1024w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/01\/Screenshot-2020-01-01-at-7.19.11-PM-300x140.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/01\/Screenshot-2020-01-01-at-7.19.11-PM-768x359.png 768w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/01\/Screenshot-2020-01-01-at-7.19.11-PM.png 1431w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption>New EC2 console <\/figcaption><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Step 2 &#8211; Launch and Ec2 instance &#8211; traverse to Storage selection block.<\/h4>\n\n\n\n<p>It will look something like this, and default view where an EC2 is having root volume only<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"480\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/01\/Screenshot-2020-01-01-at-7.34.29-PM-1024x480.png\" alt=\"\" class=\"wp-image-8150\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/01\/Screenshot-2020-01-01-at-7.34.29-PM-1024x480.png 1024w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/01\/Screenshot-2020-01-01-at-7.34.29-PM-300x140.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/01\/Screenshot-2020-01-01-at-7.34.29-PM-768x360.png 768w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/01\/Screenshot-2020-01-01-at-7.34.29-PM.png 1418w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Now we will add another volume &#8211; click on <em>add new volume<\/em> button<\/p>\n\n\n\n<p>Have added another EBS volume, of size 2gb and of type GP2. Termination protection is on &#8211; means it will be terminated if and when EC2 instance gets terminated.<\/p>\n\n\n\n<p><em><strong>Device column<\/strong><\/em> stores information about the path where we would be mounting the addition volume.<\/p>\n\n\n\n<p><em><strong>Snapshot column<\/strong><\/em> gives us option about taking base backup snapshot &#8211; new volume would be created from that . <em>More on this in the upcoming EBS tutorials Stay Tuned \ud83d\ude42<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"509\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/01\/Screenshot-2020-01-01-at-7.39.06-PM-1024x509.png\" alt=\"\" class=\"wp-image-8151\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/01\/Screenshot-2020-01-01-at-7.39.06-PM-1024x509.png 1024w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/01\/Screenshot-2020-01-01-at-7.39.06-PM-300x149.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/01\/Screenshot-2020-01-01-at-7.39.06-PM-768x382.png 768w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/01\/Screenshot-2020-01-01-at-7.39.06-PM.png 1440w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Launch the EC2 instance now, keep the key pair handy. SSH into the EC2 once its initialised.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"> Step 3 &#8211; Setting up the new addition volume in the EC2.<\/h4>\n\n\n\n<p>After SSH, you will have window like below, I&#8217;m using Mac Terminal for SSH. Windows we can use putty.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"394\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/01\/Screenshot-2020-01-01-at-8.06.47-PM-1024x394.png\" alt=\"\" class=\"wp-image-8152\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/01\/Screenshot-2020-01-01-at-8.06.47-PM-1024x394.png 1024w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/01\/Screenshot-2020-01-01-at-8.06.47-PM-300x115.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/01\/Screenshot-2020-01-01-at-8.06.47-PM-768x295.png 768w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/01\/Screenshot-2020-01-01-at-8.06.47-PM.png 1064w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Lets list all the volumes attached to the EC2 instance<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\"><span class=\"hljs-comment\">\/\/ this will return all the volumes attached<\/span>\n$ lsblk <\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>We should get something like this, if not trying going back to EC2 details and see if you have missed anything in Step 2 above.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"536\" height=\"160\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/01\/Screenshot-2020-01-01-at-8.09.55-PM.png\" alt=\"\" class=\"wp-image-8153\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/01\/Screenshot-2020-01-01-at-8.09.55-PM.png 536w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/01\/Screenshot-2020-01-01-at-8.09.55-PM-300x90.png 300w\" sizes=\"auto, (max-width: 536px) 100vw, 536px\" \/><\/figure>\n\n\n\n<p>So it&#8217;s showing we have two volumes <strong><em>xvda<\/em><\/strong> and <em><strong>xvdb<\/strong><\/em>. Out of which xvda is mounted as root volume &#8216;\/&#8217; and the other one is not. <\/p>\n\n\n\n<p>xvdb is the volume which we have selected additional volume.<\/p>\n\n\n\n<p>Now we fill format the new volume with file system type and post the we would mount it. After which can be used.<\/p>\n\n\n\n<p>Follow along with me.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\"><span class=\"hljs-comment\">\/\/ if this returns data means new added volume is not having file system<\/span>\n$ sudo file -f \/dev\/xvdb<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>For me it came data after executing above command, as we choose blank in snapshot column.<\/p>\n\n\n\n<p>Let&#8217;s create a file system in the volume.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\"><span class=\"hljs-comment\">\/\/ this will create file system<\/span>\n$ sudo mkfs -t xfs \/dev\/xvdb<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"868\" height=\"223\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/01\/Screenshot-2020-01-01-at-8.23.39-PM.png\" alt=\"\" class=\"wp-image-8154\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/01\/Screenshot-2020-01-01-at-8.23.39-PM.png 868w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/01\/Screenshot-2020-01-01-at-8.23.39-PM-300x77.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/01\/Screenshot-2020-01-01-at-8.23.39-PM-768x197.png 768w\" sizes=\"auto, (max-width: 868px) 100vw, 868px\" \/><\/figure>\n\n\n\n<p>We will create mount point, to mount this volume.<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">$ sudo mkdir \/newvolume<\/code><\/span><\/pre>\n\n\n<p>Mount the volume to this mount point<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">$ sudo mount \/dev\/xvdb \/newvolume<\/code><\/span><\/pre>\n\n\n<p>Let&#8217;s try to list attached volumes now &#8211; try <strong><em>lsblk<\/em><\/strong> command again.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"519\" height=\"114\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/01\/Screenshot-2020-01-01-at-8.35.11-PM.png\" alt=\"\" class=\"wp-image-8155\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/01\/Screenshot-2020-01-01-at-8.35.11-PM.png 519w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/01\/Screenshot-2020-01-01-at-8.35.11-PM-300x66.png 300w\" sizes=\"auto, (max-width: 519px) 100vw, 519px\" \/><\/figure>\n\n\n\n<p>If you see something like this &#8211; you are good to go. <\/p>\n\n\n\n<p>Thank you for reading, Have a great day and and awesome year !!<\/p>\n\n\n\n<p><a href=\"http:\/\/www.linkedin.com\/in\/gaurav-bajpai-fullstack\" target=\"_blank\" rel=\"noopener\">Gaurav Bajpai<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this tutorial we are going to Explore and setup extra volume to EC2 instance Step 1 &#8211; Login to AWS console, launch EC2 launch wizard page. Step 2 &#8211; Launch and Ec2 instance &#8211; traverse to Storage selection block. It will look something like this, and default view where an EC2 is having root&#8230;<\/p>\n","protected":false},"author":23,"featured_media":8157,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","_joinchat":[],"footnotes":""},"categories":[5633],"tags":[1399,1860,1868,5603,5525],"class_list":["post-8148","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-aws","tag-aws-ec2","tag-ebs","tag-ec2","tag-gauravbajpai","tag-volume"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/8148","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/23"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=8148"}],"version-history":[{"count":2,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/8148\/revisions"}],"predecessor-version":[{"id":10126,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/8148\/revisions\/10126"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media\/8157"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=8148"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=8148"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=8148"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}