Ravindra BagaleCourses & study guides English

EC2 वर EBS Volume Add, Format आणि Mount कसा करायचा (fstab)

कधी ना कधी server ची disk भरते: uploads, logs, वाढणारा database. AWS वर disk म्हणजे EBS volume, आणि तुमच्याकडे दोन उत्तरं असतात: volume मोठा करा, किंवा फक्त data साठी दुसरा volume जोडा. हा chapter दुसरा मार्ग Amazon Linux 2023 वर सुरुवातीपासून शेवटपर्यंत करतो: EC2 server कशाचा बनलेला असतो आणि कुठला EBS volume type निवडायचा ते समजावतो, मग योग्य Availability Zone मध्ये volume बनवतो, attach करतो, lsblk, df -h आणि file -s ने check करतो, XFS file system बनवतो, /data वर mount करतो, files खरंच volume वर आहेत हे सिद्ध करतो, /etc/fstab मध्ये mount permanent करतो, volume त्याच्या data सकट दुसऱ्या server वर हलवतो, आणि clean up करतो.

या class मध्ये काय शिकणार

  • EC2 server कशाचा बनलेला असतो: CPU आणि RAM, एक EBS disk आणि एक ENI
  • Volume मोठा करणं vs नवीन जोडणं, आणि data ला स्वतःचा volume का
  • EBS volume types (gp3, gp2, io2, io1, st1, sc1) आणि IOPS म्हणजे काय
  • Same Availability Zone मध्ये volume बनवणं आणि /dev/sdf म्हणून attach करणं
  • lsblk vs df -h, आणि रिकाम्या volume साठी file -s चं data उत्तर
  • Delete केलेला data परत का मिळू शकतो, आणि नवीन EBS volume नेहमी रिकामा का असतो
  • फक्त नवीन volume वर mkfs -t xfs, आणि तो /data वर mount करणं
  • umount ने files volume वर आहेत हे सिद्ध करणं
  • /etc/fstab मध्ये UUID आणि defaults,nofail 0 2 सह permanent mount, sudo mount -a ने test करून
  • Data न गमावता data volume दुसऱ्या server वर हलवणं, आणि clean-up

1. EC2 server कशाचा बनलेला असतो

का: काहीतरी संपलं (CPU, memory, disk किंवा IP) की ते server च्या कोणत्या भागात आहे हे माहीत असलं तर काय बदलायचं ते कळतं.

काय: तुम्ही instance launch करता तेव्हा AWS तीन वेगवेगळे भाग जोडतो:

  1. Instance स्वतः: CPU आणि RAM. हा तुमचे programs चालवणारा computer.
  2. EBS volume: disk. पहिला म्हणजे root volume; operating system त्यावरून boot होते. Amazon Linux 2023 ला default 8 GiB root volume मिळतो.
  3. ENI (Elastic Network Interface): network card. त्यात private IP address असतो, आणि असेल तर public IP.

Classroom line

What is EC2 by itself? RAM and CPU.

Classroom line

The first EBS volume is called the root volume.

एक EC2 server, तीन भागAvailability Zone us-east-1dInstanceCPU + RAM: programs चालवतोEBS root volumedisk: OS, 8 GiBEBS data volumeहवं तर: /dataENInetwork card: private + public IP

Figure 1. एक EC2 server म्हणजे तीन भाग: CPU आणि RAM असलेला instance, OS ठेवणारा EBS root volume (Amazon Linux 2023 वर 8 GiB), आणि private व public IP ठेवणारा ENI. Root volume शेजारी data volume जोडता येतो.

Disk CPU आणि RAM पासून वेगळी असल्यामुळे ती resize, detach आणि दुसऱ्या server ला attach करता येते. Stop आणि terminate केल्यावर प्रत्येक भागाचं काय होतं ते The ENI: where your IP addresses live आणि The EBS bill: real numbers मध्ये आहे.

2. Disk भरली: volume मोठा करायचा की नवीन जोडायचा?

का: भरलेली disk uploads, logs आणि databases थांबवते. वाढवायची की नवीन जोडायची हे ठरवल्याने fix ला किती काम आणि किती धोका लागेल ते ठरतं.

परिस्थिती: website upload केलेल्या images ठेवते, किंवा MySQL वाढत जातो, आणि काही महिन्यांनी 8 GiB root volume भरतो. बाहेर पडायचे दोन मार्ग आहेत.

Classroom line

If I can grow my disk, why take a new one?

Option A: volume मोठा करा. Volume select करा, Actions > Modify volume, आणि मोठी size टाका, उदाहरणार्थ 8 वरून 16 GiB.

  1. Size फक्त वाढवता येते, कधीच कमी करता येत नाही.
  2. Server चालूच राहतो. मग Linux मध्ये partition आणि file system मोठे करा:

    sudo growpart /dev/nvme0n1 1
    sudo xfs_growfs -d /
    df -h /
    
  3. एकदा बदल केल्यावर, तोच volume परत modify करायला सहा तास थांबावं लागतं.

Option B: data volume जोडा. Operating system root volume वर ठेवा, आणि data /data सारख्या folder वर mount केलेल्या दुसऱ्या volume वर ठेवा. बाकीचा chapter हेच करतो. याचे खरे फायदे आहेत:

  1. Data operating system पासून वेगळा राहतो. OS बिघडली, तर data volume सरळ नवीन server ला attach करता येतो.
  2. प्रत्येक volume चा स्वतःचा type आणि size असू शकतो: स्वस्त gp3 root आणि database साठी जास्त fast volume.
  3. फक्त data चा backup घेता येतो, त्या एकाच volume च्या snapshot ने.
Disk भरली: दोन मार्गOption A: volume मोठा करा8 GiBभरली16 GiBतोच volume$ sudo growpart /dev/nvme0n1 1$ sudo xfs_growfs -d /Size फक्त वाढते. पुढचा बदल 6 तासांनी.OS आणि data एकाच disk वर राहतात.Option B: data volume जोडाroot, 8 GiB/ वर OSdata volume/data वर mountData OS पासून वेगळा.स्वतःचा type आणि size, स्वतःचा snapshot.OS बिघडली तर नवीन server वर जातो.हा chapter

Figure 2. Option A: Modify volume root volume मोठा करतो, मग growpart आणि xfs_growfs partition आणि file system मोठे करतात. Option B: दुसरा EBS volume attach करून /data वर mount केला जातो, म्हणून data OS पासून वेगळा राहतो आणि दुसऱ्या server वर हलवता येतो.

3. EBS volume types आणि IOPS

का: Type वेग आणि किंमत ठरवतो. चुकीचा type एकतर database slow करतो, किंवा कधीच न वापरलेल्या वेगासाठी पैसे घेतो.

IOPS (input/output operations per second) म्हणजे disk दर second ला किती reads आणि writes करू शकते. Programs आणि त्यांचा data disk वरून RAM मध्ये load होतो, म्हणून slow disk म्हणजे slow server, खासकरून databases साठी.

Create volume > Volume type मध्ये दिसणारे types:

  1. General Purpose SSD gp3: default आणि सगळ्यात स्वस्त SSD. प्रत्येक gp3 volume ला size कितीही असली तरी 3,000 IOPS आणि 125 MiB/s मिळतात, आणि जास्त हवं तर पैसे देऊन: 80,000 IOPS आणि 2,000 MiB/s पर्यंत. Size 1 GiB ते 64 TiB.
  2. General Purpose SSD gp2: जुना type. त्याचे IOPS size सोबत वाढतात: प्रति GiB 3 IOPS, कमीत कमी 100 आणि जास्तीत जास्त 16,000; 1 TiB पेक्षा लहान volumes काही वेळ 3,000 IOPS पर्यंत burst करू शकतात. नवीन volumes साठी gp3 वापरा.
  3. Provisioned IOPS SSD io2 (Block Express): मोठ्या, busy databases साठी. IOPS तुम्ही स्वतः निवडता: 256,000 IOPS पर्यंत (प्रति GiB जास्तीत जास्त 1,000) आणि 4,000 MiB/s, size 64 TiB पर्यंत.
  4. Provisioned IOPS SSD io1: जुना provisioned type, 64,000 IOPS पर्यंत.
  5. Throughput Optimized HDD st1 आणि Cold HDD sc1: logs किंवा archives सारख्या सलग वाचल्या जाणाऱ्या मोठ्या files साठी hard disks, प्रति GiB कमी किमतीत. त्या 125 GiB पासून सुरू होतात आणि root volume होऊ शकत नाहीत.
  6. Magnetic (standard): previous-generation type; नवीन volumes साठी वापरू नका.
EC2 console, Create volume page: "Create an Amazon EBS volume to attach to any EC2 instance in the same Availability Zone." Volume settings खाली Volume type list उघडी आहे, General Purpose SSD (gp3) ला tick, मग General Purpose SSD (gp2), Provisioned IOPS SSD (io1), Provisioned IOPS SSD (io2), Cold HDD (sc1), Throughput Optimized HDD (st1) आणि Magnetic (standard).

Console: Create volume मधली Volume type list: gp3, gp2, io1, io2, sc1, st1 आणि Magnetic (standard).

EBS volume types आणि IOPS IOPS = दर second ला read आणि write operations. जास्त IOPS, databasesसाठी fast disk. gp3 General Purpose SSD (default) 1 GiB - 64 TiB 3,000 IOPS + 125 MiB/s सोबत; 80,000 IOPS पर्यंत gp2 General Purpose SSD (जुना) 1 GiB - 16 TiB प्रति GiB 3 IOPS, 100 ते 16,000; 3,000 पर्यंतburst io2 Provisioned IOPS SSD (Block Express) 64 TiB पर्यंत तुम्ही निवडता: 256,000 IOPS पर्यंत, प्रति GiB1,000 io1 Provisioned IOPS SSD (जुना) 4 GiB - 16 TiB तुम्ही निवडता: 64,000 IOPS पर्यंत st1 / sc1 Throughput HDD / Cold HDD 125 GiB - 16 TiB सलग वाचल्या जाणाऱ्या मोठ्या files; root होऊ शकतनाही standard Magnetic   previous generation: नवीन volumes साठी नको

Figure 3. EBS volume types: 3,000 IOPS सोबत येणारा आणि 80,000 पर्यंत जाणारा gp3; प्रति GiB 3 IOPS, 100 ते 16,000 असलेला gp2; 256,000 IOPS पर्यंत io2 Block Express; 64,000 पर्यंत io1; 125 GiB पासूनच्या, boot न होणाऱ्या st1 आणि sc1 hard disks; Magnetic previous generation.

Sizes: root volume त्याच्या AMI ला लागते त्यापेक्षा लहान असू शकत नाही: Amazon Linux साठी 8 GiB, Windows Server साठी 30 GiB. gp3 किंवा gp2 data volume 1 GiB इतका लहान असू शकतो, practice साठी भरपूर.

4. Plan: चार steps

  1. Server च्याच same Availability Zone मध्ये volume बनवा.
  2. तो server ला attach करा.
  3. त्यावर file system बनवा (फक्त तो नवीन आहे म्हणून).
  4. तो /data folder वर mount करा. मग /data मध्ये लिहिलेलं सगळं नवीन volume वर जातं.

Classroom line

If your EC2 is in zone A and you create the volume in zone B, it won't attach.

चार steps मध्ये data volume जोडा Availability Zone us-east-1d 1. Create: server च्या AZ मध्ये 1 GiB gp3 data-vol · 1 GiB gp3 · Available State Available. दुसरा AZ: server list मध्येच येत नाही. 2. /dev/sdf म्हणून attach data-vol · /dev/sdf · In-use nvme1n1 no file system State In-use. Linux मध्ये lsblk तो mount point शिवाय nvme1n1 म्हणूनदाखवतो. 3. sudo mkfs -t xfs /dev/nvme1n1 nvme1n1 xfs फक्त file -s ने data म्हटलं म्हणून: नवीन आणि रिकामा. 4. sudo mount /dev/nvme1n1 /data nvme1n1 xfs -> /data /data: a b c x y z आता /data मध्ये लिहिलेल्या files volume वर जातात. EC2 server (Amazon Linux 2023) nvme0n1p1 / (root, xfs)

Figure 4. Animation: server च्या Availability Zone मध्ये 1 GiB gp3 volume बनवा; तो /dev/sdf म्हणून attach करा, जो Linux nvme1n1 म्हणून दाखवतो; mkfs ने XFS file system बनवा; तो /data वर mount करा, जिथे नवीन files volume वर जातात.

5. आधी disks बघा: lsblk, df -h आणि du

का: आधी बघितलं की आधीच काय आहे ते कळतं, म्हणून चुकीची disk कधीच format होत नाही.

कसं: server ला connect करा आणि चालवा:

lsblk
df -h

lsblk server ला attach असलेली प्रत्येक disk आणि partition दाखवतो, mount असो वा नसो:

NAME          MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
nvme0n1       259:0    0   8G  0 disk
├─nvme0n1p1   259:1    0   8G  0 part /
├─nvme0n1p127 259:2    0   1M  0 part
└─nvme0n1p128 259:3    0  10M  0 part /boot/efi
  1. nvme0n1 म्हणजे root volume, पूर्ण disk. nvme0n1p1 त्याचं मुख्य partition, / वर mount. दोन छोटी partitions boot साठी वापरली जातात.
  2. Partition म्हणजे disk चा एक भाग, म्हणून ते disk पेक्षा मोठं असू शकत नाही.

df -h फक्त mount केलेल्या file systems दाखवतो, त्यांची size, वापरलेली आणि मोकळी जागा (-h म्हणजे 8.0G सारख्या वाचायला सोप्या sizes):

Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        4.0M     0  4.0M   0% /dev
tmpfs           457M     0  457M   0% /dev/shm
/dev/nvme0n1p1  8.0G  1.7G  6.4G  21% /
/dev/nvme0n1p128 10M  1.3M  8.7M  13% /boot/efi
  1. tmpfs आणि devtmpfs disk वर नाही, RAM मध्ये असतात.
  2. एखादा folder किती जागा वापरतो ते बघायला du वापरा: sudo du -sh /var/log. sudo शिवाय root च्या folders साठी Permission denied येतो.
lsblk vs df -h lsblk: attach असलेली प्रत्येक disk आणि partition $ lsblk nvme0n1 8G disk ├─nvme0n1p1 8G part / ├─nvme0n1p127 1M part └─nvme0n1p128 10M part /boot/efi nvme1n1 1G disk नवीन volume दिसतो, mount point शिवाय. df -h: फक्त mount केलेल्या file systems, मोकळ्या जागेसह $ df -h devtmpfs 4.0M 0 4.0M 0% /dev tmpfs 457M 0 457M 0% /dev/shm /dev/nvme0n1p1 8.0G 1.7G 6.4G 21% / /dev/nvme0n1p128 10M 1.3M 8.7M 13% /boot/efi (nvme1n1: not here until mounted) tmpfs आणि devtmpfs RAM मध्ये. नवीन volume mount नंतर दिसतो.

Figure 5. lsblk attach असलेली प्रत्येक disk आणि partition दाखवतो, mount असो वा नसो, म्हणून नवीन रिकामा volume mount point शिवाय nvme1n1 म्हणून दिसतो. df -h फक्त mount केलेल्या file systems त्यांच्या वापरलेल्या आणि मोकळ्या जागेसह दाखवतो, म्हणून नवीन volume तिथे mount केल्यावरच दिसतो.

6. Same Availability Zone मध्ये volume बनवा

का: Volume फक्त त्याच्याच AZ मधल्या server ला attach होतो. दुसऱ्या AZ मध्ये बनवलेला volume या server च्या कामाचा नाही.

कसं:

  1. Server चा AZ शोधा: instance select करा, Networking tab, Availability Zone, उदाहरणार्थ us-east-1d.
  2. Elastic Block Store > Volumes > Create volume.
  3. Volume type: General Purpose SSD (gp3). Size: 1 GiB. IOPS 3000 आणि throughput 125 वरच ठेवा.
  4. Availability Zone: server चा AZ, us-east-1d. हे दोनदा check करा; ही सगळ्यात common चूक आहे.
  5. Tag Name = data-vol टाका, म्हणजे नंतर सापडेल, आणि Create volume. त्याची state Creating वरून Available होते.

Classroom line

Select the Availability Zone carefully: pick your EC2's AZ.

EC2 console, Create volume, Volume settings: Volume type General Purpose SSD (gp3); Size (GiB) 1, Min 1 GiB, Max 65536 GiB; IOPS 3000, Min 3000 IOPS, Max 80000 IOPS; Throughput (MiB/s) 125, Min 125 MiB, Max 2000 MiB, Baseline 125 MiB/s; Availability Zone use1-az6 (us-east-1a).

Console: Create volume: gp3, 1 GiB, 3000 IOPS आणि 125 MiB/s, जे gp3 सोबत येतात. Availability Zone server चाच AZ हवा.

7. Volume attach करा

का: Attach होईपर्यंत volume म्हणजे AWS मधली फक्त storage. Attach केल्यावरच Linux त्याला नवीन disk म्हणून बघतो.

कसं:

  1. data-vol select करा, Actions > Attach volume.
  2. Instance: तुमचा server निवडा. फक्त volume च्या AZ मधले instances दिसतात.
  3. Device name: /dev/sdf. Console root volume साठी /dev/xvda आणि data volumes साठी /dev/sdf ते /dev/sdp सुचवतो.
  4. Attach volume. State In-use होते, आणि instance च्या Storage tab मध्ये दोन block devices दिसतात.
EC2 console, Attach volume, Basic details: Volume ID (लपवलेला), Availability Zone use1-az4 (us-east-1d), Instance (लपवलेला, running) सोबत note "Only instances in the same Availability Zone as the selected volume are displayed.", Device name "Select a device name" सोबत note "Recommended device names for Linux: /dev/xvda for root volume. /dev/sd[f-p] for data volumes."

Console: Attach volume: Instance list मध्ये फक्त volume च्या Availability Zone मधले instances दिसतात, आणि data volume चं device name /dev/sdf ते /dev/sdp मधून येतं.

Linux मधलं नाव वेगळं असतं. सध्याच्या instance types वर (Nitro, जसं t3) प्रत्येक EBS volume NVMe device असतो, म्हणून /dev/sdf /dev/nvme1n1 म्हणून दिसतो; जुन्या types वर तो /dev/xvdf असू शकतो. नेहमी lsblk ने check करा:

NAME          MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
nvme0n1       259:0    0   8G  0 disk
├─nvme0n1p1   259:1    0   8G  0 part /
├─nvme0n1p127 259:2    0   1M  0 part
└─nvme0n1p128 259:3    0  10M  0 part /boot/efi
nvme1n1       259:4    0   1G  0 disk

nvme1n1 attach आहे, पण त्याला partition आणि mount point नाही, आणि df -h तो अजून दाखवत नाही.

Classroom line

Pay attention here.

8. File system आहे का? sudo file -s

का: mkfs सगळं पुसतो. आधी volume रिकामा (data) आहे हे तपासणंच files असलेली disk पुसण्यापासून वाचवतं.

कसं:

sudo file -s /dev/nvme0n1p1
sudo file -s /dev/nvme1n1
  1. Root partition SGI XFS filesystem data (blksz 4096, inosz 512, v2 dirs) उत्तर देतं: त्यावर XFS file system आहे.
  2. नवीन volume फक्त /dev/nvme1n1: data उत्तर देतो. म्हणजे: file system नाही, फक्त raw blocks.
  3. sudo lsblk -f हीच गोष्ट table म्हणून दाखवतो: नवीन volume साठी FSTYPE column रिकामा असतो.

File system म्हणजे काय: disk म्हणजे फक्त 0 आणि 1 च्या blocks ची एक लांब रांग. File system disk वर एक table ठेवते: प्रत्येक file चं नाव, तिचा folder, आणि कुठल्या blocks मध्ये तिचा content आहे. ते table नसेल, तर Linux file नावाने ठेवू शकत नाही, म्हणून mount करण्याआधी volume वर file system हवीच.

File system table, delete आणि wipe 1. Files save केल्या notes.txt -> blocks 1-3 photo.jpg -> blocks 4-6 table (file system) 2. rm notes.txt: फक्त table entry जाते ✗ notes.txt -> blocks 1-3 photo.jpg -> blocks 4-6 content तसाच: recovery tools शोधू शकतात Disk खरंच पुसायची: shred, dd if=/dev/zero किंवा drive चा secure erase 3. नवीन EBS volume: AWS ने storage परत वापरण्याआधीपुसलं $ sudo file -s /dev/nvme1n1 /dev/nvme1n1: data सगळे zeros: table नाही, जुना data नाही

Figure 6. File system नावं आणि block locations चं table ठेवते. साधा delete फक्त table मधली entry काढतो; content blocks मध्ये तसाच राहतो जोपर्यंत काहीतरी त्यावर लिहित नाही, आणि recovery tools असंच काम करतात. AWS delete केलेल्या EBS volume चं storage परत वापरण्याआधी पुसतो, म्हणून नवीन volume zeros म्हणून वाचला जातो: file -s data म्हणतो.

Delete केलेल्या files परत का येऊ शकतात:

  1. साधा delete (rm, किंवा Recycle Bin रिकामा करणं) file ची entry table मधून काढतो आणि तिचे blocks free म्हणून mark करतो. नवीन data त्यावर लिहिला जाईपर्यंत content त्या blocks मध्ये राहतो.
  2. म्हणूनच recovery tools अनेकदा delete केलेला content शोधू शकतात, पण सहसा file names शिवाय. एका test disk वर, file मध्ये लिहिलेली ओळ rm ने delete केल्यानंतरही raw device वर सापडली.
  3. Disk खरंच पुसायची असेल, तर त्यावर overwrite करा, उदाहरणार्थ shred ने किंवा /dev/zero मधून पूर्ण dd ने, किंवा drive ची secure-erase command वापरा.
  4. AWS delete केलेल्या EBS volume चं storage दुसऱ्या कोणाला मिळण्याआधी पुसतो. म्हणूनच अगदी नवीन volume पूर्ण zeros असतो आणि file -s data म्हणतो.

9. File system बनवा: mkfs -t xfs

का: Raw volume ला file names चा table नसतो, म्हणून Linux त्यावर files ठेवू शकत नाही. mkfs तो table बनवतो.

काय: file system बनवणं, ज्याला formatting पण म्हणतात, ते रिकामं table volume वर लिहितं. हे driver install करणं नाही; हे फक्त disk ला files ठेवायला तयार करतं.

कसं:

sudo mkfs -t xfs /dev/nvme1n1
  1. mkfs meta-data=/dev/nvme1n1 ने सुरू होणारा summary दाखवतो, ज्यात block size आणि sections असतात. sudo file -s /dev/nvme1n1 आता SGI XFS filesystem data म्हणतो.
  2. XFS Amazon Linux 2023 वरची default file system आहे. Ubuntu सहसा ext4 वापरतो (sudo mkfs -t ext4 /dev/nvme1n1). Windows NTFS वापरतो.
  3. NFS हा disk format नाही: तो network वरून folders share करायचा protocol आहे. AWS वर ते Amazon EFS.

फक्त नवीन, रिकाम्या volume वर. mkfs नवीन, रिकामं table लिहितो: volume वरची प्रत्येक file जाते. Volume वर आधीच file system असेल, तर mkfs.xfs appears to contain an existing filesystem (xfs) म्हणून नकार देतो आणि -f मागतो. त्या message चा अर्थ volume वर data आहे: थांबा, आणि त्याऐवजी mount करा.

Classroom line

We make a file system only when the volume is new.

10. Volume /data वर mount करा

का: Linux disk पर्यंत फक्त folder मधूनच पोहोचतो. Mount volume ला /data शी जोडतो, म्हणजे तिथे लिहिलेल्या files volume वर जातात.

काय: mounting म्हणजे folder ला file system शी जोडणं. Mount नंतर folder मध्ये तुम्ही जे लिहिता ते त्या volume वर साठवलं जातं.

Classroom line

Connecting this directory to this volume is called mounting.

कसं:

sudo mkdir /data
sudo mount /dev/nvme1n1 /data
df -h
  1. df -h मध्ये आता नवीन ओळ आहे: /dev/nvme1n1 960M 40M 921M 5% /data. 1 GiB volume थोडा कमी दिसतो, कारण file system स्वतः थोडी जागा घेते.
  2. काही files आणि folders बनवा:

    cd /data
    sudo touch a b c
    sudo mkdir x y z
    ls
    
  3. /data root चा आहे, म्हणून साधं touch Permission denied देतं. ec2-user ला sudo शिवाय तिथे लिहू द्यायचं असेल, तर एकदा sudo chown ec2-user:ec2-user /data चालवा.

11. Files volume वरच आहेत हे सिद्ध करा

का: Unmount केल्यावर files गायब होताना आणि mount केल्यावर परत येताना बघितलं की त्या root disk वर नाही, volume वर आहेत हे सिद्ध होतं.

Test: volume unmount करा आणि folder मध्ये बघा.

  1. आधी folder मधून बाहेर या: cd ~. ज्या folder मध्ये तुम्ही उभे आहात तो unmount करता येत नाही; umount target is busy उत्तर देतो.
  2. Unmount करा आणि बघा:

    sudo umount /data
    ls /data
    
  3. /data रिकामा आहे. Files कधीच folder मध्ये नव्हत्या; त्या volume वर आहेत.

  4. परत mount करा, आणि त्या परत दिसतात:
    sudo mount /dev/nvme1n1 /data
    ls /data
    

Classroom line

I can't cut the branch I'm standing on.

Classroom line

How will we verify these were really created on that volume?

12. Mount permanent करा: /etc/fstab

का: mount temporary असतो. Reboot नंतर, किंवा stop आणि start केल्यावर, कोणी volume mount करेपर्यंत /data परत रिकामा folder असतो.

Classroom line

What we mounted just now is a temporary mount.

काय: /etc/fstab (file system table) ही Linux boot ला वाचते ती configuration file आहे. प्रत्येक ओळ एक file system आणि ती ज्या folder वर mount होते तो सांगते.

कसं:

  1. Volume चा UUID मिळवा, file system मध्ये ठेवलेला एक unique ID:

    sudo blkid /dev/nvme1n1
    
  2. तो /dev/nvme1n1: UUID="af9001ed-20fb-42b7-b0b7-f2d8de17df67" BLOCK_SIZE="512" TYPE="xfs" दाखवतो. UUID quotes शिवाय copy करा.

  3. File चा backup घ्या, मग ती उघडा:

    sudo cp /etc/fstab /etc/fstab.bak
    sudo nano /etc/fstab
    
  4. आधीच्या ओळींना हात लावू नका, आणि शेवटी तुमच्या स्वतःच्या UUID सह एक ओळ टाका:

    UUID=af9001ed-20fb-42b7-b0b7-f2d8de17df67  /data  xfs  defaults,nofail  0  2
    
  5. कुठल्याही reboot आधी test करा:

    sudo umount /data
    sudo mount -a
    df -h
    
  6. mount -a /etc/fstab मधलं अजून mount न झालेलं सगळं mount करतो. df -h मध्ये /data परत आला आणि error नाही, तर ओळ बरोबर आहे. mount ने systemctl daemon-reload चालवायचा hint दिला, तर sudo systemctl daemon-reload चालवा.

  7. मग sudo reboot, परत connect करा, आणि df -h check करा: तुम्ही काही न करता /data mount आहे.

Classroom line

It should mount by itself when the server starts. That's called a permanent mount.

/etc/fstab मधली एक ओळ, सहा fields UUID=af9001ed-... /data xfs defaults,nofail 0 2 UUID=af9001ed-... कुठली file system   sudo blkid मधून; कधी बदलत नाही /data mount point   आधीपासून असलेला folder xfs type   Ubuntu वर ext4 defaults,nofail options   nofail: volume नसला तरी boot 0 dump   जुना backup tool: 0 2 fsck   root 1, बाकी 2, 0 कधीच नाही $ sudo umount /data $ sudo mount -a # test before any reboot: no output = OK $ df -h # /data is back

Figure 7. fstab ओळीचे सहा fields: file system चा UUID, mount point /data, type xfs, options defaults,nofail, dump 0 (dump tool कडून backup नाही) आणि fsck order 2 (root नंतर check, root ला 1; 0 म्हणजे कधीच check नाही).

ओळीचं प्रत्येक field:

  1. UUID=...: कुठली file system. /dev/nvme1n1 सारखी device names boots किंवा instance types बदलल्यावर बदलू शकतात; UUID कधीच बदलत नाही.
  2. /data: mount point, आधीपासून असलेला folder.
  3. xfs: file system type.
  4. defaults,nofail: नेहमीचे options, आणि nofail: volume नसेल, उदाहरणार्थ detach केला असेल, तरी server boot होतो. nofail शिवाय boot थांबून वाट बघू शकतो, आणि तुम्ही SSH ने connect करू शकत नाही.
  5. 0: dump field, जुन्या dump backup tool साठी; नेहमी 0.
  6. 2: boot ला file system check चा क्रम: root साठी 1, बाकीच्या disks साठी 2, कधीच नाही साठी 0.

Typing ची चूक test मध्ये दिसते: nofial सारखा चुकीचा option दिला तर mount -a Unknown parameter 'nofial' देऊन fail होतो. Reboot आधी दुरुस्त करा.

Classroom line

Take a new volume and show me a permanent mount.

हा interview मधला common task आहे, आणि तो नेमका sections 6 ते 12 आहे.

13. Data volume दुसऱ्या server वर हलवा

का: data volume वर असतो, server मध्ये नाही. Server बिघडला किंवा बदलला, तर data volume त्याच्या सगळ्या files सकट नवीन server वर जातो.

कसं:

  1. जुन्या server वर: cd ~, मग sudo umount /data, आणि /etc/fstab मधली /data ओळ delete किंवा comment (#) करा.
  2. Console मध्ये: data-vol select करा, Actions > Detach volume. त्याची state Available होते.
  3. नवीन server same AZ मध्ये हवा. Launch करताना Network settings > Edit > Subnet वापरा आणि त्या AZ मधलं subnet निवडा.
  4. नवीन server ला Actions > Attach volume, device /dev/sdf.
  5. नवीन server वर: lsblk nvme1n1 दाखवतो, आणि sudo file -s /dev/nvme1n1 SGI XFS filesystem data म्हणतो: file system आधीच आहे. mkfs चालवू नका.
  6. Mount करा आणि बघा:

    sudo mkdir /data
    sudo mount /dev/nvme1n1 /data
    ls /data
    
  7. a b c x y z सगळे आहेत. या server वरही fstab ओळ टाका (section 12), त्याच UUID सह.

Classroom line

Launch it in the same zone as your earlier EC2.

Data volume दुसऱ्या server वर हलवा 1. जुना server: cd ~ आणि sudo umount /data जुना server: /data mounted → /data unmounted data-vol: In-use /etc/fstab मधली /data ओळ पण काढा. 2. Console: Detach volume data-vol: Available State Available. Force detach फक्त शेवटचा उपाय: data बिघडू शकतो. 3. Same AZ मधल्या नवीन server ला attach नवीन server: data-vol In-use · /dev/sdf no mkfs! file -s XFS म्हणतो: file system आधीच आहे. mkfs नाही! /data: a b c x y z ls /data: a b c x y z. या server वरही fstab ओळ टाका.

Figure 8. Animation: जुन्या server वर /data unmount करा; volume detach करा, तो Available होतो; same Availability Zone मधल्या नवीन server ला attach करा; mkfs शिवाय /data वर mount करा, आणि a b c x y z files तिथे आहेत.

आधी unmount, मग detach. Mount असलेला volume detach केला तर अजून लिहिला जात असलेला data जाऊ शकतो. Force detach Detaching मध्ये अडकलेल्या volume साठी आहे, पण त्याने file system बिघडू शकते, म्हणून तो फक्त शेवटचा उपाय म्हणून वापरा.

Root volume पण हलवता येतो, stop केलेल्या server वर तो बदलून: Recover data by swapping the root volume बघा.

14. Clean up

का: Server attach नसला तरी volumes आणि snapshots delete करेपर्यंत पैसे घेत राहतात.

  1. sudo umount /data आणि /etc/fstab मधून /data ओळ काढा.
  2. Volumes: data-vol select करा, Actions > Detach volume, Available ची वाट बघा, मग Actions > Delete volume. Available volume चं पण bill येतं.
  3. Instances: practice servers terminate करा.

Classroom line

Don't keep it for nothing; delete it if you don't need it.

15. काही बिघडलं तर

का: प्रत्येक error एक step सांगतो: AZ, attach, file system, mount किंवा fstab. Error ला step शी जुळवलं की परत सुरुवातीपासून करावं लागत नाही.

  1. Attach volume list मध्ये server नाही: volume दुसऱ्या AZ मध्ये आहे. Server च्या AZ मध्ये volume बनवा.
  2. mount: /data: wrong fs type, bad option, bad superblock: volume वर अजून file system नाही (file -s data म्हणतो), किंवा चुकीचं device दिलं. lsblk आणि sudo file -s ने check करा; volume नवीन असेल तरच mkfs चालवा.
  3. mount point /data does not exist: आधी sudo mkdir /data ने folder बनवा. mkdir folder बनवतो; mkfs file system बनवतो. दोघांची गल्लत करू नका.
  4. /dev/sdf: No such file or directory: Linux मध्ये volume /dev/nvme1n1 (किंवा /dev/xvdf) आहे. lsblk मधलं नाव वापरा.
  5. umount: /data: target is busy: तुम्ही, किंवा एखादा program, /data मध्ये आहे. cd ~ करून परत try करा.
  6. mkfs.xfs: ... appears to contain an existing filesystem: volume वर data आहे. -f टाकू नका; mount करा.
  7. /data मध्ये touch: cannot touch ... Permission denied: sudo वापरा, किंवा sudo chown ec2-user:ec2-user /data.
  8. Reboot नंतर /data रिकामा: fstab ओळ नाही, किंवा तिच्यात चूक आहे. sudo mount -a चालवा आणि error वाचा.
  9. fstab बदलानंतर server परत येत नाही: nofail शिवायची चुकीची ओळ. Server stop करा, त्याचा root volume दुसऱ्या server ला दुसरी disk म्हणून attach करा, ओळ दुरुस्त करा, आणि परत attach करा; वर link केलेला root volume chapter बघा.

Ravindra Bagale's Tip

प्रत्येक mkfs आधी त्या device वर sudo file -s चालवा आणि उत्तर वाचा. फक्त data म्हणजे "नवीन आणि रिकामा". आणि प्रत्येक /etc/fstab बदलानंतर reboot आधी sudo mount -a चालवा. त्या file मधलं एक अक्षर चुकलं तरी तुम्ही server बाहेर अडकू शकता; nofail आणि test दोन्ही मिळून ते safe करतात.

16. पूर्ण class एका page वर

  1. EC2 server म्हणजे instance (CPU आणि RAM), EBS root volume (disk) आणि ENI (IPs असलेलं network card).
  2. Disk भरली: volume मोठा करा (Modify volume, मग growpart आणि xfs_growfs), किंवा data volume जोडून /data वर mount करा.
  3. IOPS = दर second ला reads आणि writes. gp3 मध्ये कुठल्याही size ला 3,000 IOPS (80,000 पर्यंत); gp2 प्रति GiB 3 IOPS देतो; io2 256,000 पर्यंत; st1 आणि sc1 boot न होणाऱ्या hard disks.
  4. चार steps: same AZ मध्ये बनवा, /dev/sdf म्हणून attach करा (Linux nvme1n1 दाखवतो), mkfs -t xfs (फक्त नवीन volumes), mount.
  5. lsblk attach असलेल्या disks दाखवतो; df -h mount केलेल्या file systems; file system नसेल तर sudo file -s data म्हणतो.
  6. Delete table मधली entry काढतो, content नाही; AWS delete केलेले volumes पुसतो, म्हणून नवीन volume रिकामा असतो.
  7. sudo mkdir /data, sudo mount /dev/nvme1n1 /data; sudo umount /data नंतर folder रिकामा: files volume वर असतात.
  8. /etc/fstab: sudo blkid मधून UUID=... /data xfs defaults,nofail 0 2; reboot आधी sudo umount /data आणि sudo mount -a ने test करा.
  9. Data volume हलवा: umount, detach, same AZ मध्ये attach, mount; कधीच mkfs नाही. Force detach फक्त शेवटचा उपाय.
  10. Clean up: unmount, detach, volume delete, servers terminate.

17. Hands-on lab: 1 GiB data volume जोडा आणि boot ला mount करा

हा lab का. हा lab चालू server ला दुसरी disk जोडतो, त्यावर files ठेवतो, आणि reboot नंतर ती आपोआप mount होईल असं करतो, पुढच्या step आधी प्रत्येक step तपासत.

  1. Disks बघा
    • Command: lsblk
    • काय दिसेल: एकच disk, nvme0n1, त्याच्या partitions सह.
    • Check करा: df -h / 8 GiB root file system दाखवतो.
    • का: नंतर नवीन disk ओळखायला "आधीचं" चित्र लागतं.
  2. Volume बनवा
    • करा: Volumes → Create volume: gp3, 1 GiB, आणि server चाच AZ (server च्या Networking tab मध्ये बघा).
    • Check करा: नवीन volume Available आहे.
    • का: Practice साठी 1 GiB gp3 पुरे आणि खूप स्वस्त. दुसरा AZ असेल तर attach अशक्य.
  3. Attach करा
    • करा: Actions → Attach volume → तुमचा server → device /dev/sdf.
    • Check करा: lsblk मध्ये आता nvme1n1, 1G, partitions शिवाय दिसतो.
    • का: Linux disk ला sdf नाही, nvme1n1 नाव देतो. lsblk जे नाव दाखवतो तेच वापरा.
  4. रिकामा आहे ते तपासा
    • Command: sudo file -s /dev/nvme1n1
    • काय दिसेल: /dev/nvme1n1: data
    • Check करा: त्याऐवजी XFS filesystem data आलं तर थांबा: disk वर आधीच file system आहे.
    • का: data म्हणजे file system नाही, म्हणून format केल्याने काहीच जात नाही.
  5. File system बनवा
    • Command: sudo mkfs -t xfs /dev/nvme1n1
    • काय दिसेल: meta-data=/dev/nvme1n1 असलेला summary.
    • Check करा: sudo file -s /dev/nvme1n1 आता SGI XFS filesystem data सांगतो.
    • का: Amazon Linux वर XFS default आहे. mkfs फक्त नवीन volume वर चालवा: तो सगळं पुसतो.
  6. /data वर mount करा
    • Command: sudo mkdir /data && sudo mount /dev/nvme1n1 /data
    • काय दिसेल: काहीच नाही.
    • Check करा: df -h /data मध्ये /dev/nvme1n1, सुमारे 1.0G दिसतो.
    • का: Linux disk पर्यंत फक्त folder मधूनच पोहोचतो, म्हणून volume ला mount करायला folder लागतो.
  7. Files volume वर आहेत हे सिद्ध करा
    • Command: cd /data && sudo touch a b c && cd ~ && sudo umount /data
    • काय दिसेल: काहीच नाही.
    • Check करा: ls /data आता रिकामा; sudo mount /dev/nvme1n1 /data आणि ls /data परत a b c दाखवतो.
    • का: Unmount आधी /data मधून बाहेर या, नाहीतर target is busy येतं.
  8. UUID मिळवा
    • Command: sudo blkid /dev/nvme1n1
    • काय दिसेल: /dev/nvme1n1: UUID="..." BLOCK_SIZE="512" TYPE="xfs"
    • Check करा: UUID quotes शिवाय copy करा.
    • का: UUID file system चा असतो आणि कधीच बदलत नाही, पण device name reboot नंतर बदलू शकतो.
  9. fstab ओळ जोडा
    • Command: sudo cp /etc/fstab /etc/fstab.bak && sudo nano /etc/fstab
    • काय दिसेल: आधीची root ओळ. शेवटी जोडा: UUID=YOUR_UUID /data xfs defaults,nofail 0 2.
    • Check करा: tail -1 /etc/fstab तुमची नवीन ओळ दाखवतो.
    • का: Backup मुळे चुकीचा बदल undo करता येतो. Volume नसला तरी nofail मुळे server boot होतो.
  10. Reboot आधी test करा
    • Command: sudo umount /data && sudo mount -a
    • काय दिसेल: काहीच output नाही. systemctl daemon-reload सुचवलं तर sudo systemctl daemon-reload चालवा.
    • Check करा: df -h मध्ये /data परत दिसतो. मग sudo reboot, परत connect, आणि df -h मध्ये तो अजूनही दिसतो.
    • का: mount -a boot सारखंच fstab वाचतो, म्हणून typo आत्ताच दिसतो, जेव्हा तो सुधारता येतो.
  11. साफ करा
    • करा: sudo umount /data, /etc/fstab मधली ओळ काढा, मग Volumes मध्ये volume detach आणि delete करा.
    • Check करा: Volumes मध्ये एकही available volume उरला नाही.
    • का: Detach आधी fstab ओळ काढा, म्हणजे पुढचा boot नसलेली disk शोधत नाही. Detach केलेला volume पैसे घेत राहतो.

18. Try at home

Try at home

Task 1: add आणि mount

  1. Amazon Linux 2023 instance launch करा आणि त्याचा AZ नोंदवा. दुसऱ्या AZ मध्ये 1 GiB gp3 volume बनवा आणि attach करून बघा: server list मध्ये नाही.
  2. योग्य AZ मध्ये एक बनवा, /dev/sdf म्हणून attach करा, आणि lsblk व df -h compare करा.
  3. नवीन volume वर sudo file -s, mkfs -t xfs, मग परत file -s चालवा.

Task 2: सिद्ध करा आणि permanent करा

  1. तो /data वर mount करा, files बनवा, unmount करा, आणि /data मध्ये बघा. परत mount करा.
  2. UUID आणि nofail सह fstab ओळ टाका, sudo mount -a ने test करा, आणि reboot करा.
  3. मुद्दाम nofail चं spelling चुकवा, sudo mount -a चालवा, error वाचा, आणि दुरुस्त करा.

Task 3: हलवा

  1. Same AZ मध्ये दुसरा server launch करा, mkfs शिवाय volume त्यावर हलवा, आणि files list करा.
  2. Clean up: unmount, detach, volume delete आणि दोन्ही servers terminate करा.

Recap

थोडक्यात

  1. EC2 server ची disk हा वेगळा EBS volume असतो; जास्तीचे volumes data OS पासून वेगळा ठेवतात.
  2. gp3 हा default पर्याय: कुठल्याही size ला 3,000 IOPS सोबत; io2 सगळ्यात busy databases साठी.
  3. Volume server च्या AZ मध्ये बनवा, attach करा, आणि त्याचं खरं नाव lsblk ने शोधा.
  4. file -s data म्हणतो तेव्हाच mkfs चालवायचा; मग तो /data वर mount करा.
  5. Mount temporary असतो; /etc/fstab मधली nofail सह UUID ओळ, sudo mount -a ने test केलेली, तो permanent करते.
  6. Data हलवायला: unmount, detach, same AZ मध्ये attach, mount, आणि परत कधीच format नाही.

सराव Tasks

या scenario बद्दल

Kolhapuri Chappal Co हा कोल्हापूर मधला पादत्राणे व्यवसाय आहे. Sachin Mane त्यांचं IT व cloud काम पाहतात. त्यांचे पैसे INR मध्ये मोजले जातात आणि AWS resources ap-south-1 Region मध्ये चालतात. खालच्या tasks मध्ये तुम्ही या lesson मध्ये शिकलेलं वापरून त्यांची खरी कामं करता. सगळी नावं, account IDs, IP addresses व numbers सरावासाठी काल्पनिक आहेत.

0 / 12

सोपं मोकळी disk जागा तपासा

का: Disk 100% भरल्यास apps व databases बंद पडतात.

काय करायचं: सगळ्या mounted disks ची मोकळी व वापरलेली जागा human-readable units मध्ये दाखवा.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

सोपं Disks ची list पाहा

का: EBS volume attach केल्यावर lsblk त्याचं device नाव दाखवतो.

काय करायचं: Server वरचे सगळे block devices (disks व partitions) दाखवा.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

सोपं Folder चा size तपासा

का: du folder किती जागा वापरतो ते सांगतो, -h ने सोप्या units मध्ये.

काय करायचं: /var/www/kolhapurichappal चा एकूण size एका line मध्ये human-readable units मध्ये दाखवा.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

सोपं Memory तपासा

का: RAM भरल्यास server slow होतो किंवा apps बंद होतात.

काय करायचं: वापरलेली व मोकळी memory human-readable units मध्ये दाखवा.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

सोपं EBS volume चा snapshot घ्या

का: Snapshot म्हणजे एका disk चा त्या क्षणीचा backup.

काय करायचं: Volume vol-0dfc00420fccfdeed चा snapshot "nightly kolhapurichappal" description सह बनवा.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

मध्यम Volume instance ला attach करा

का: Server ला volume दिसण्याआधी तो attach (त्याच AZ मध्ये) करावा लागतो.

काय करायचं: Volume vol-0dfc00420fccfdeed ला instance i-0da02400dac111a2b ला /dev/sdf device म्हणून attach करा.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

मध्यम नवा EBS volume बनवा

का: Extra data disks मुळे app data root disk पासून वेगळा राहतो.

काय करायचं: ap-south-1a Availability Zone मध्ये 20 GiB gp3 volume बनवा.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

मध्यम Disk चा UUID शोधा

का: /etc/fstab मध्ये UUID वापरावा, कारण reboot नंतर device नाव बदलू शकतं.

काय करायचं: /dev/xvdf चा UUID दाखवा.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

मध्यम नवी disk format करा

का: नवा EBS volume रिकामा असतो. Files ठेवायला file system लागते.

काय करायचं: /dev/xvdf ला xfs file system ने format करा.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

अवघड Downtime शिवाय volume मोठा करा

का: EBS volumes वापरात असताना मोठे होतात. नंतर file system पण वाढवतात.

काय करायचं: Volume vol-0dfc00420fccfdeed 50 GiB करा.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

अवघड मोठ्या files शोधा

का: Disk भरल्यावर आधी मोठ्या files शोधा.

काय करायचं: /var खाली कुठेही 100 MB पेक्षा मोठ्या files शोधा.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

अवघड Instance resize करा (vertical scaling)

का: Server लहान पडल्यास stop असताना type बदला.

काय करायचं: Stop असलेल्या i-0da02400dac111a2b ला जास्त power हवी. त्याचा instance type t3.large करा.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

झटपट उजळणी cards

हा lesson दोन मिनिटांत revise करा. Cards phone वर save करा किंवा PNG download करा. प्रत्येक card वरचा QR त्याचा lesson उघडतो.

तुलना card: Grow a volume vs Add a new volume. Grow a volume: असलेला EBS disk मोठा करा. Add a new volume: दुसरा EBS disk बनवून attach करा.
तुलना: Grow a volume vs Add a new volume · PNG download करा
तुलना card: lsblk vs df -h. lsblk: Disks आणि partitions ची list. df -h: Mount केलेल्या filesystems वरची जागा.
तुलना: lsblk vs df -h · PNG download करा
उजळणी card: EC2 server कशाचा बनलेला असतो?. CPU, RAM, disk किंवा IP संपला की कोणता भाग बदलायचा ते माहीत हवं. तीन भाग: instance (CPU आणि RAM), EBS volume (disk) आणि ENI (IPs असलेलं network card). Instance details मध्ये बघा: Storage tab मध्ये EBS, Networking tab मध्ये ENI. t3.micro = 2 vCPU, 1 GiB RAM. Amazon Linux 2023 वर root EBS 8 GiB.
उजळणी card: EC2 server कशाचा बनलेला असतो? · PNG download करा
उजळणी card: EBS volume types आणि IOPS. Type वर speed आणि किंमत ठरते. चुकीचा type म्हणजे slow database किंवा मोठं bill. IOPS = दर second ला read/write operations. gp3/gp2 general SSD, io2/io1 fast SSD, st1/sc1 स्वस्त HDD. Volume बनवताना type निवडा. gp3 हा नेहमीचा default. gp3 कोणत्याही size ला 3000 IOPS देतो. Busy MySQL ला io2 वर 10000 IOPS लागू शकतात.
उजळणी card: EBS volume types आणि IOPS · PNG download करा
उजळणी card: नवीन EBS volume format आणि mount. नवीन attach केलेला volume कोरा असतो. Linux त्यावर अजून files ठेवू शकत नाही. Format = file system (xfs) बनवणं. Mount = disk ला /data सारख्या folder ला जोडणं. file -s ने रिकामा आहे का बघा, मग फक्त नवीन volume format करून mount करा. 10 GiB volume /data वर mount:
उजळणी card: नवीन EBS volume format आणि mount · PNG download करा
उजळणी card: /etc/fstab ने कायमचा mount. साधा mount reboot नंतर जातो. /data रिकामा folder होतो. /etc/fstab म्हणजे प्रत्येक boot ला Linux mount करतो त्या disks ची list. UUID (blkid मधून) आणि nofail वापरा, reboot आधी mount -a ने test करा. fstab ची एक line:
उजळणी card: /etc/fstab ने कायमचा mount · PNG download करा
तुलना: gp3 vs io2. gp3: General purpose SSD, नेहमीचा default EBS type. io2: खूप busy databases साठी provisioned IOPS SSD.
तुलना: gp3 vs io2 · PNG download करा
मुलाखत card: चालू EC2 चा root EBS volume कसा वाढवता?. Console मध्ये volume size modify करा, मग Linux मध्ये partition आणि file system वाढवा. Disk full आहे; वाढवायला downtime किंवा नवीन volume लागत नाही. 8 › 16 GiB, मग:
मुलाखत card: चालू EC2 चा root EBS volume कसा वाढवता? · PNG download करा
मुलाखत card: दुसऱ्या AZ मधल्या EC2 ला EBS volume attach करता येतो का?. नाही. EBS volume एका AZ मध्ये असतो, फक्त त्याच AZ मधल्या instances ला attach होतो. Low latency साठी disk त्या AZ च्या storage network मध्ये असतो. हलवायचा असेल तर: snapshot, मग दुसऱ्या AZ मध्ये त्यातून नवीन volume.
मुलाखत card: दुसऱ्या AZ मधल्या EC2 ला EBS volume attach करता येतो का? · PNG download करा
मुलाखत card: /etc/fstab मध्ये UUID आणि nofail का?. UUID म्हणजे file system चा fixed ID. nofail ने disk नसली तरी boot चालू राहतो. /dev/nvme1n1 सारखी नावं बदलू शकतात; nofail शिवाय गायब disk boot थांबवू शकते. blkid ने UUID घ्या, line add करा, mount -a ने test करा.
मुलाखत card: /etc/fstab मध्ये UUID आणि nofail का? · PNG download करा
मुलाखत card: Volume वर mkfs कधी चालवू नये?. Data असलेल्या volume वर कधीच नाही, उदा. दुसऱ्या server वरून आणलेला volume. mkfs नवीन रिकामी file system बनवतो आणि आधीचं सगळं पुसतो. आधी तपासा: "data" म्हणजे रिकामा; "XFS filesystem" म्हणजे फक्त mount करा.
मुलाखत card: Volume वर mkfs कधी चालवू नये? · PNG download करा

अजून cards: Ravi Sir's Cards.