আপনি যদি বাধা পরিবর্তন করতে ইচ্ছুক হন তবে আমি লিনাক্সের লজিকাল ভলিউম ম্যানেজার (এলভিএম 2) ব্যবহার করার পরামর্শ দেব ।
এটি আপনাকে বিভিন্ন আকারের একাধিক ডিস্ক একসাথে একত্রিত করার অনুমতি দেয় এবং আপনি পুনরায় বুট না করে লজিক্যাল "ডিস্ক" এর আপাত আকার বাড়ানোর জন্য ডিস্কগুলি যুক্ত করতে পারেন। আপনি যদি ডিফল্ট ফাইল-সিস্টেম ব্যবহার করেন ( ext4
এই দিনগুলি) এটি ফাইল-সিস্টেমের একটি অনলাইন আকার পরিবর্তন করতে পারে, সুতরাং আবার বুট করার দরকার নেই।
আমি এটি র্যাম ডিস্কগুলি ( /dev/ram0
মাধ্যমে /dev/ram15
) ব্যবহার করে প্রদর্শন করতে পারি । প্রথমত, আমার সিস্টেমে পার্টিশনগুলি দেখুন:
# lvmdiskscan
/dev/ram0 [ 64.00 MiB]
/dev/ram1 [ 64.00 MiB]
/dev/sda1 [ 87.16 GiB]
/dev/ram2 [ 64.00 MiB]
/dev/ram3 [ 64.00 MiB]
/dev/ram4 [ 64.00 MiB]
/dev/ram5 [ 64.00 MiB]
/dev/sda5 [ 6.00 GiB]
/dev/ram6 [ 64.00 MiB]
/dev/ram7 [ 64.00 MiB]
/dev/ram8 [ 64.00 MiB]
/dev/ram9 [ 64.00 MiB]
/dev/ram10 [ 64.00 MiB]
/dev/ram11 [ 64.00 MiB]
/dev/ram12 [ 64.00 MiB]
/dev/ram13 [ 64.00 MiB]
/dev/ram14 [ 64.00 MiB]
/dev/ram15 [ 64.00 MiB]
/dev/sdb1 [ 294.09 GiB]
/dev/sdb5 [ 4.00 GiB]
0 disks
20 partitions
0 LVM physical volume whole disks
0 LVM physical volumes
সুতরাং আসুন একটি 2-ডিস্ক সেটআপ তৈরি করুন, এবং পরে আমি এটিকে 3-ডিস্কে প্রসারিত করব। প্রথমে, এলভিএম ব্যবহারের জন্য আমার "ডিস্কগুলি" ফর্ম্যাট করুন। এই পদক্ষেপে pv
দৈহিক ভলিউম, অর্থাত্ একটি আসল ডিভাইস যা ডেটা সঞ্চয় করে:
# pvcreate /dev/ram0
Physical volume "/dev/ram0" successfully created
# pvcreate /dev/ram1
Physical volume "/dev/ram1" successfully created
# pvs
PV VG Fmt Attr PSize PFree
/dev/ram0 vg_main lvm2 a- 60.00m 60.00m
/dev/ram1 vg_main lvm2 a- 60.00m 60.00m
তারপরে একটি ভলিউম গোষ্ঠী তৈরি করুন, যা মূলত তাদের সাথে একক বিভাজনযুক্ত "ডিস্ক" এ যোগ দেয়:
# vgcreate vg_main /dev/ram0 /dev/ram1
Volume group "vg_main" successfully created
# vgs
VG #PV #LV #SN Attr VSize VFree
vg_main 2 0 0 wz--n- 120.00m 120.00m
এবং এখন "পার্টিশন" করতে লজিকাল ভলিউম তৈরি করে এই ডিস্কে যোগদান করেছে। আমি উপলব্ধ সমস্ত স্থান ব্যবহার করতে যাচ্ছি:
# lvcreate --extents 100%VG --name lv_main vg_main
Logical volume "lv_main" created
# lvs
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
lv_main vg_main -wi-a- 120.00m
সুতরাং এখন আমার ভার্চুয়াল 120 এমবি পার্টিশন রয়েছে আমি আমার জিনিসগুলি সঞ্চয় করতে পারি। ডিভাইস নোডটি আরও ভার্বোজ lvdisplay
কমান্ড ব্যবহার করে পাওয়া যাবে :
# lvdisplay
--- Logical volume ---
LV Name /dev/vg_main/lv_main
VG Name vg_main
LV UUID tsKWeD-tjpB-yh32-Ong3-Jp7C-erT8-LRVlTg
LV Write Access read/write
LV Status available
# open 0
LV Size 120.00 MiB
Current LE 30
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:0
সুতরাং আমার ফাইল-সিস্টেমটি চালু করা উচিত /dev/vg_main/lv_main
। এর অর্থ হ'ল একটি বিদ্যমানটিকে অনুলিপি করার মতো সরঞ্জাম ব্যবহার করে অনুলিপি করা হতে পারে dd
, বা এই প্রদর্শনীতে একটি নতুন তৈরি করা উচিত:
# mkfs.ext4 -L fs_main /dev/vg_main/lv_main
mke2fs 1.42 (29-Nov-2011)
Discarding device blocks: done
Filesystem label=fs_main
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
30720 inodes, 122880 blocks
6144 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67371008
15 block groups
8192 blocks per group, 8192 fragments per group
2048 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729
Allocating group tables: done
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
সুতরাং এখন আমি এটি (খালি) ফাইল-সিস্টেমটি মাউন্ট করতে এবং এটি কিছু পরীক্ষার ডেটা দিয়ে পূরণ করতে পারি:
# mkdir /tmp/demo
# mount /dev/vg_main/lv_main /tmp/demo
# df -h /tmp/demo
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_main-lv_main 117M 5.6M 105M 6% /tmp/demo
# ls /tmp/demo
lost+found
# dd if=/dev/zero of=/tmp/demo/bigfile
dd: writing to `/tmp/demo/bigfile': No space left on device
226701+0 records in
226700+0 records out
116070400 bytes (116 MB) copied, 0.982532 s, 118 MB/s
# ls -lh /tmp/demo
total 111M
-rw-r--r-- 1 root root 111M Mar 10 18:50 bigfile
drwx------ 2 root root 12K Mar 10 18:47 lost+found
আমার ফাইল-সিস্টেম এখন সম্পূর্ণ পূর্ণ! এটি ফ্রি পিই (শারীরিক এক্সটেন্টস) / আকার (বাইটস) ব্যবহার করে df
এবং পরীক্ষিত -ডিস্ক স্তর ব্যবহার করে ফাইল-সিস্টেমের স্তরে এবং যাচাই করা যেতে পারে vgdisplay
:
# df -h /tmp/demo
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_main-lv_main 117M 117M 0 100% /tmp/demo
# vgdisplay
--- Volume group ---
VG Name vg_main
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 2
Act PV 2
VG Size 120.00 MiB
PE Size 4.00 MiB
Total PE 30
Alloc PE / Size 30 / 120.00 MiB
Free PE / Size 0 / 0
VG UUID zWxBml-xdZU-8wgh-IK1w-ij1N-Z3eo-sRtri3
সুতরাং এখন এটি বড় করা যাক! আসুন ভান করুন যে /dev/ram2
এটি একটি দুর্দান্ত নতুন Sata ডিস্ক যা আমি আমার চলমান সিস্টেমে সবেমাত্র হট প্লাগ করেছি এবং আমি এটি আমার পূর্ণ ফাইল-সিস্টেমের আকার বাড়াতে ব্যবহার করতে চাই।
আগের মতো, pvcreate
এলভিএম ব্যবহারের জন্য "ডিস্ক" প্রস্তুত করতে ব্যবহার করুন:
# pvcreate /dev/ram2
Physical volume "/dev/ram2" successfully created
এখন আমরা আমাদের যুক্ত-ডিস্ক (ভলিউম গ্রুপ) প্রসারিত করি এবং যাচাই করে ফেলি যে vg_main
এতে কিছু ফাঁকা জায়গা রয়েছে:
# vgextend vg_main /dev/ram2
Volume group "vg_main" successfully extended
# vgdisplay
--- Volume group ---
VG Name vg_main
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 3
Act PV 3
VG Size 180.00 MiB
PE Size 4.00 MiB
Total PE 45
Alloc PE / Size 30 / 120.00 MiB
Free PE / Size 15 / 60.00 MiB
VG UUID zWxBml-xdZU-8wgh-IK1w-ij1N-Z3eo-sRtri3
এটি এখনও আমাদের ফাইল-সিস্টেমে কোনও স্থান মুক্ত করে তোলে না, যেহেতু "পার্টিশন" (লজিকাল ভলিউম) আমাদের নতুন ডিস্কটি যুক্ত করার আগে একই আকারের:
# df -h /tmp/demo
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_main-lv_main 117M 117M 0 100% /tmp/demo
# lvdisplay
--- Logical volume ---
LV Name /dev/vg_main/lv_main
VG Name vg_main
LV UUID tsKWeD-tjpB-yh32-Ong3-Jp7C-erT8-LRVlTg
LV Write Access read/write
LV Status available
# open 1
LV Size 120.00 MiB
Current LE 30
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:0
এখানে ম্যাজিকটি আসে - আমরা লজিকাল ভলিউমকে আকার পরিবর্তন করি এবং LVM2 কে ফাইল-সিস্টেমের মধ্যে আকার পরিবর্তন করতে বলি:
# lvresize --extents 100%VG --resizefs /dev/vg_main/lv_main
fsck from util-linux 2.20.1
e2fsck 1.42 (29-Nov-2011)
/dev/mapper/vg_main-lv_main is mounted.
WARNING!!! The filesystem is mounted. If you continue you ***WILL***
cause ***SEVERE*** filesystem damage.
Do you really want to continue<n>?
এই ভীতিজনক সতর্কতাটি ফাইল-সিস্টেমের আকার পরিবর্তনের সাথে সম্পর্কিত নয় , তবে fsck
LVM2 মাউন্ট করা ফাইল-সিস্টেমে যে প্রাক-ফ্লাইটটি করতে চায় তার সাথে সম্পর্কিত। স্পষ্টতই আমরা এই ভীতিজনক প্রম্পটটি প্রত্যাখ্যান করি এবং "না" উত্তর দেব:
Do you really want to continue<n>? no
check aborted.
Extending logical volume lv_main to 180.00 MiB
Logical volume lv_main successfully resized
resize2fs 1.42 (29-Nov-2011)
Filesystem at /dev/dm-0 is mounted on /tmp/demo; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/dm-0 to 184320 (1k) blocks.
The filesystem on /dev/dm-0 is now 184320 blocks long.
LVM2 তারপরে আমাদের অনুরোধ করা ফাইল-সিস্টেমের অনলাইন আকার পরিবর্তন করতে এগিয়ে যায়। ভাল খবর!
# df -h /tmp/demo
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_main-lv_main 175M 117M 49M 71% /tmp/demo
আমি এখন আবার আরও ফাইল তৈরি করতে পারি:
# dd if=/dev/zero of=/tmp/demo/another_file
dd: writing to `/tmp/demo/another_file': No space left on device
118751+0 records in
118750+0 records out
60800000 bytes (61 MB) copied, 0.556078 s, 109 MB/s
# ls -lh /tmp/demo
total 169M
-rw-r--r-- 1 root root 58M Mar 10 19:04 another_file
-rw-r--r-- 1 root root 111M Mar 10 18:52 bigfile
drwx------ 2 root root 12K Mar 10 18:47 lost+found