ධාවන වේලාවේදී පද්ධතියක මූල කොටසෙහි ප්රමාණය වැඩි කරන්නේ කෙසේද?
මූල කොටසෙන් පසුව වෙන් නොකරන ලද කොටසක් මා සතුව ඇත (එය ext4 ද වේ), සේවාදායකය වසා දැමීමකින් තොරව එම වෙන් නොකල ඉඩ ප්රමාණය root කොටසට වෙන් කර ඇති ඉඩට එකතු කරන්නේ කෙසේද?
ධාවන වේලාවේදී පද්ධතියක මූල කොටසෙහි ප්රමාණය වැඩි කරන්නේ කෙසේද?
මූල කොටසෙන් පසුව වෙන් නොකරන ලද කොටසක් මා සතුව ඇත (එය ext4 ද වේ), සේවාදායකය වසා දැමීමකින් තොරව එම වෙන් නොකල ඉඩ ප්රමාණය root කොටසට වෙන් කර ඇති ඉඩට එකතු කරන්නේ කෙසේද?
Answers:
GUI (උබුන්ටු 14.04 සහ ඊට පසු) : GParted v0.17 සහ පසුව මේ සඳහා හොඳ GUI එකක් ලබා දෙන්න. (පැරණි අනුවාදයන් සවිකර ඇති කොටසක ප්රමාණය වෙනස් කිරීම ප්රතික්ෂේප කරනු ඇත).
විධාන රේඛාව (ඕනෑම උබුන්ටු අනුවාදයක්): මේ සඳහා පියවර තුනක් තිබේ.
පියවර 1. කොටස මුලින් වෙනස් කළ යුතුය. ඔබ LVM භාවිතා කරන්නේ නම්, එය පහසු වන අතර ඉදිරියට යා යුතු ආකාරය ඔබ අනුමාන කරයි. ඔබ සම්භාව්ය කොටස් භාවිතා කරන්නේ නම්, එය ටිකක් සංකීර්ණ වන අතර නැවත පණගැන්වීමක් අවශ්ය විය හැකිය (ඔබට කිසි විටෙකත් වෙනත් පද්ධතියක් හෝ සජීවී සංයුක්ත තැටියක් ආරම්භ කිරීමට අවශ්ය නැත).
මම මෙය කරන්නේ මෙයයි: fdisk
පළමුව කොටස මකා දැමීමට භාවිතා කරන්න (අදහස නම් තැටියේ දත්ත සුරැකෙනු ඇත), පසුව එකම ස්ථානයේ විශාල ප්රමාණයකින් එය ප්රවේශමෙන් ප්රතිනිර්මාණය කරන්න.
උදාහරණයක්:
$ sudo fdisk /dev/sda
Command (m for help): p
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 9437183 4717568 83 Linux
Command (m for help): d
Selected partition 1
Command (m for help): p
Device Boot Start End Blocks Id System
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4, default 1): 1
First sector (2048-10485759, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-10485759, default 10485759):
Using default value 10485759
Command (m for help): p
Device Boot Start End Blocks Id System
/dev/sda1 2048 10485759 5241856 83 Linux
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
නැවතත්, නව කොටස පැරණි ආකාරයටම ආරම්භ වීම ඉතා වැදගත්ය. හැඳුනුම්පත ද ගැලපිය යුතුය (ලිනක්ස් පද්ධති සඳහා 83). ඔබේ සියලු දත්ත සුළු වශයෙන් හෝ නැතිවීමට සූදානම් වන්න.
ආරක්ෂිත පැත්තේ සිටීමට, එබීමෙන් ඔබට ඇරඹුම් ධජය ( සමහර පරිගණකවල විකිපීඩියාවට අනුව තවමත් අවශ්ය වේ) ප්රතිස්ථාපනය කළ හැකිය a
.
ඔබේ swap කොටස ක්රියාත්මක වන්නේ නම් කුමක් කළ යුතුද යන්න සඳහා අදහස් දැක්වීමේ කොටස බලන්න.
සජීවී සංයුක්ත තැටියක් භාවිතා කිරීමට මිනිසුන් නිර්දේශ කරන්නේ මන්දැයි මේ වන විට පැහැදිලි විය යුතුය. ;-)
පියවර 2.fdisk
ඔබට ප්රයෝජනවත් ලෙස මතක් කර දෙන
පරිදි , ඉදිරියට යාමට පෙර කොටස් වගුව නැවත පූරණය කළ යුතුය. ආරක්ෂිතම ක්රමය වන්නේ නැවත පණගැන්වීමයි; නමුත් ඔබට භාවිතා කළ හැකිය partprobe
හෝ kpartx
(වැඩි විස්තර) .
පියවර 3.
කොටස ප්රමාණය වෙනස් කර කොටස් වගුව නැවත පූරණය කළ පසු එය resize2fs
ගොනු පද්ධතිය මත ක්රියාත්මක කිරීම සරල කාරණයක් වන අතර මූල කොටස ලෙස සවිකර ඇති විටදී පවා ඔබට මෙය කළ හැකිය.
උදාහරණයක්:
$ sudo resize2fs /dev/sda1
fdisk
පරිදි, partprobe
හෝ kpartx
නැවත පණගැන්වීම වෙනුවට ක්රියා කළ හැකිය; මෙම ප්රශ්නය ද බලන්න . ඔබ නැවත පණගැන්වුවද, අක්රීය වේලාවට සජීවී සංයුක්ත තැටියක් භාවිතා කිරීමට විසඳුම වඩාත් යෝග්ය වේ, එහිදී සරල නැවත පණගැන්වීම අථත්ය යන්ත්රයක් සඳහා තත්පර 10 ට වඩා අඩු විය හැකිය. ක්රියාකරු වේලාවේදී ද එය වේගවත් ය, එබැවින් මම සාමාන්යයෙන් මෙම ප්රවේශය මා විසින්ම භාවිතා කරමි. :)
free -h
), swap ( swapoff /dev/sda2
) අක්රීය කරන්න , කොටස් වගුව වෙනස් කරන්න (swap කොටස මකා දැමීම සහ ප්රතිනිර්මාණය කිරීම ඇතුළුව) සහ 1) නැවත ආරම්භ කිරීම හෝ 2) කොටස් වගුව swapon
නැවත පූරණය කරන්න . (තාවකාලිකව swap අක්රීය කිරීමට මතකය තදින් ඇත්නම්, ඔබට තවමත් නව swap කොටසක් නිර්මාණය කර සක්රිය කළ හැකිය ( /dev/sda3
), පසුව swapoff sda2
; නමුත් ඔබට /etc/fstab
නව swap උපාංග නාමය සමඟ යාවත්කාලීන කළ යුතුය.)
ඔබේ මූල කොටස වුවද, ext4 ගොනු පද්ධතියක මාර්ගගත ප්රතිප්රමාණනයක් කළ හැකිය. resize2fs
විධානය භාවිතා කරන්න .
sudo resize2fs /dev/sda1
සංස්කරණය කරන්න: මාර්ගගත හැකිලීමට අවසර නැත:
root@brunojcm-htpc:/home# resize2fs /dev/sda5 2654693
resize2fs 1.42 (29-Nov-2011)
Filesystem at /dev/sda5 is mounted on /; on-line resizing required
resize2fs: On-line shrinking not supported
man resize2fs
: The resize2fs program does not manipulate the size of partitions. If you wish to enlarge a filesystem, you must make sure you can expand the size of the underlying partition first. This can be done using fdisk(8) by deleting the partition and recreating it with a larger size or using lvextend(8),if you're using the logical volume manager lvm(8).
මෙම ප්රශ්නය ගොනු පද්ධතිය නොව කොටස් ප්රමාණය වෙනස් කිරීම ගැන ය . වෙනස සියුම් නමුත් ඉතා වැදගත් ය.
The resize2fs program will resize ext2, ext3, or ext4 file systems. It can be used to enlarge or shrink an unmounted file system located on device. If the filesystem is mounted, it can be used to expand the size of the mounted filesystem, assuming the kernel supports on-line resizing. (As of this writing, the Linux 2.6 kernel supports on-line resize for filesystems mounted using ext3 and ext4.).
fdisk
කවදාද growpart
යන්න ගැන කරදර නොවන්න.
පහසු විසඳුමක් - භාවිතා කරන්න growpart <device> <partition>
:
growpart /dev/xvda 1 # Grows the partition; note the space
resize2fs /dev/xvda1 # Grows the filesystem
සෑම විටම මෙන්, ඔබේ කොටස් වගුව ( sfdisk -d /dev/xvda > partition_bak.dmp
) උපස්ථ කරන්න .
apt-get install cloud-utils
/dev/nvme0n1
. p5 යනු මෙම තැටියේ 5 වන කොටසයි. සාම්ප්රදායික BSD තැටි පෙති සමඟ සසඳන විට, ඔවුන් සමාන සංඛ්යා යෝජනා ක්රමයක් භාවිතා කරයි.
ඔව්, ඔබට නැවත පණගැන්වීමකින් තොරව (හෝ livecd, හෝ usbkey) මාර්ගගත මූල කොටසක් හැකිලීමට / ගෙනයාමට / වර්ධනය කිරීමට හැකිය : මෙම පිළිතුර බලන්න . තරමක් දිගු හා ටිකක් අවදානම් සහිත වුවද එය ඉතා හොඳින් ලියා ඇති අතර අනුගමනය කිරීමට පහසුය. එබැවින් ඔබට අවශ්ය වන්නේ ඔබේ ext4 කොටස පමණක් වර්ධනය කිරීමට නම්, ඔබට සාම්ප්රදායික වැඩ resize2fs
විසඳුම් වලට ඇලී සිටිය හැකිය .
මා විසින් ලබා දී ඇති පොදු විසඳුම ඕනෑම ආකාරයක කැපවූ හෝ වීපීඑස් විසඳුමක් සඳහා ක්රියා කරනු ඇත.
ටීඑල්ඩීආර්; මෙම විසඳුම සඳහා ගම්ය pivot_root
කිරීමට tmpfs
ඔබට හැකි නිසා umount
ආරක්ෂිතව ඔබගේ root කොටස සජීවී හා ඒ සමග වීණාවක්. එය අවසන් වූ පසු, ඔබ pivot_root
ඔබගේ නව මූල කොටස නැවත ලබා ගනී.
මෙය මූල ගොනු පද්ධතියේ ඕනෑම හැසිරවීමකට ඉඩ දෙයි (එය ගෙනයන්න, ගොනු පද්ධතිය වෙනස් කරන්න, එහි භෞතික උපාංගය වෙනස් කරන්න ...).
ක්රියාවලිය තුළ නැවත ආරම්භ අවශ්ය නැහැ, හා මෙම බයිපාස් සීමාවක් කිරීමට ඉඩ ඇති resize2fs
හැකිලෙන නොහැකි වීම ext4
කොටස්.
මම මෙය පෞද්ගලිකව භාවිතා කර ඇති අතර එය ඩෙබියන් පද්ධතියේ ද ඉතා හොඳින් ක්රියාත්මක වන බැවින් එය උබුන්ටු මත වැඩ කළ යුතුය. මෙම ගැඹුරු විසඳුම එකම ගැටළුව සමඟ කටයුතු කරන ස්ටේක්ස්චේන්ජ් වෙබ් අඩවි වල ඇති බොහෝ ප්රශ්න සමඟ මඳක් සම්බන්ධ නොවීම ගැන මම පුදුම වෙමි.
සටහන: ඇත්ත වශයෙන්ම ඔබට ඔබේ කොටස වර්ධනය කිරීමට අවශ්ය නම්, resize2fs
බොහෝ ස්ථානවල සහ වෙනත් පිළිතුරු වල දක්වා ඇති පරිදි සරල එකක් ප්රමාණවත් වේ.
ඔබට GParted භාවිතා කළ හැකිය - ඔබ ප්රමාණය වෙනස් කරන කොටස ඔබ ආරම්භ කළ කොටස නොවන තාක් කල් - නැතිනම් සජීවී සංයුක්ත තැටි විකල්පය නවකයින් සඳහා තරමක් පහසු යැයි මම යෝජනා කරමි .
GParted මූලික වශයෙන් සියලු පියවරයන් කරයි - GUI ඉදිරිපස මත පදනම්ව.
@ සෙරෙන් ලෙව්බර්ග්ගේ පිළිතුර මත දිගුවක් කිරීමට මම කැමතියි: හුවමාරුව හුවමාරු කොටසකින් දීර් ing කිරීම.
පළමුවෙන්ම තැටියේ සැකැස්ම දිගු කිරීමෙන් පසු:
$sudo parted /dev/sda 'unit s print' free
Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sda: 14336000s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
63s 2047s 1985s Free Space
1 2048s 10485759s 10483712s primary ext4 boot
10485760s 10487805s 2046s Free Space
2 10487806s 12580863s 2093058s extended
5 10487808s 12580863s 2093056s logical linux-swap(v1)
12580864s 14335999s 1755136s Free Space
එබැවින් තැටියේ අවසානයේ ඇති නිදහස් ඉඩ සමඟ sda1 දිගු කළ යුතුය, නමුත් swap කොටස ඔවුන් අතර වේ. ඔබට එය කළ හැකි ආකාරය මෙයයි:
පළමුව අපි swap අක්රීය කළ යුතුයි. එය කොපමණ ප්රමාණයක් භාවිතා කර ඇත්දැයි සහ ඔබට එය නිවා දැමිය හැකිදැයි පරීක්ෂා කරන්න.
$ free -h
total used free shared buff/cache available
Mem: 992M 52M 464M 3.2M 475M 784M
Swap: 1.0G 0B 1.0G
swap මෙහි භාවිතා නොකරන බැවින් අපට එය නිවා දැමිය හැකිය
$sudo swapoff /dev/sda5
දැන් අපි කොටස් වගුව වෙනස් කරමු:
$sudo fdisk /dev/sda
(සටහන: 2048 වෙනුවට 63 වන කොටසේ පළමු කොටස ආරම්භ කිරීමට ඔබට සිදුවුවහොත්, ඔබට විකල්පය එක් කළ යුතුය -c=dos
)
Welcome to fdisk (util-linux 2.27.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): p
Disk /dev/sda: 6.9 GiB, 7340032000 bytes, 14336000 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x9e11c6df
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 10485759 10483712 5G 83 Linux
/dev/sda2 10487806 12580863 2093058 1022M 5 Extended
/dev/sda5 10487808 12580863 2093056 1022M 82 Linux swap / Solaris
Command (m for help): d
Partition number (1,2,5, default 5): 2
Partition 2 has been deleted.
Command (m for help): d
Selected partition 1
Partition 1 has been deleted.
Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-14335999, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-14335999, default 14335999): 12242941
Created a new partition 1 of type 'Linux' and of size 5.9 GiB.
Command (m for help): n
Partition type
p primary (1 primary, 0 extended, 3 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (2-4, default 2): 2
First sector (12242942-14335999, default 12242944):
Last sector, +sectors or +size{K,M,G,T,P} (12242944-14335999, default 14335999):
Created a new partition 2 of type 'Linux' and of size 1022 MiB.
Command (m for help): a
Partition number (1,2, default 2): 1
The bootable flag on partition 1 is enabled now.
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Re-reading the partition table failed.: Device or resource busy
The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8).
සටහන: sda1 හි විශාලත්වය යනු ඔබේ හුවමාරු කොටසෙහි අංශ ප්රමාණයට වඩා අඩු අංශ ගණනකි: 14335999-2093058 = 12242941
Fdisk සඳහන් කරන පරිදි: කර්නලය තවමත් පැරණි කොටස් වගුව භාවිතා කරයි, එබැවින් අපට එය නැවත පූරණය කළ යුතුය.
$partprobe
දැන් අපි sda1 හි resize2fs ධාවනය කළ යුතුයි (මෙය අමතක නොකරන්න!)
$resize2fs /dev/sda1
resize2fs 1.42.12 (29-Aug-2014)
Filesystem at /dev/sda1 is mounted on /; on-line resizing required
old_desc_blocks = 3, new_desc_blocks = 10
The filesystem on /dev/sda1 is now 38833617 (4k) blocks long.
දැන්, දේවල් තවම අවසන් නැත. ඔබ දැක ඇති පරිදි sda2 ලිනක්ස් (Ext4) වර්ගය ලෙස කොටස් කර ඇත. කිසියම් හේතුවක් නිසා, වර්ගය තෝරා ගැනීමට fdisk හි ක්රමයක් නොමැත. එබැවින් අපි එය භාවිතයෙන් විකල්ප කළ යුතුයcfdisk
$ sudo cfdisk
Sda2 තෝරන්න සහ වර්ගය වෙනස් කර 82 Linux swap / Solaris
ඔබ එය ලිවීමට වග බලා ගන්න (තහවුරු කිරීමට ඔව් ටයිප් කරන්න)
දැන් අපට swap නැවත සක්රිය කළ හැකිය
$mkswap /dev/sda2
/dev/sda2
UUID=d58bf1cb-d27a-487d-b337-056767fd5ad6 none swap sw 0 0
අවසානයේ එය සක්රිය කරන්න:
$swapon /dev/sda2
අප කළ යුතු එකම දෙය වන්නේ ආරම්භයේදී ස්වයංක්රීයව swap කොටස සවි කිරීම සඳහා fstab යාවත්කාලීන කිරීමයි
$sudo nano /etc/fstab
Swap කොටසේ UUID ඉහත ප්රතිදානයට වෙනස් කරන්න:
# swap was on /dev/sda5 during installation
UUID=d58bf1cb-d27a-487d-b337-056767fd5ad6 none swap sw 0 0
දැන් සියල්ල හොඳින් ඇති අතර ඔබට ගැටළු නොමැතිව නැවත ආරම්භ කළ හැකිය.
mkswap
& swapon
විධානයන් sda2 මත ධාවනය කළ යුතුය. මගේ තනතුර ආරම්භයේදීම මම වැරැද්දක් කළෙමි: swapoff
sda5 මත ක්රියාත්මක කළ යුතුය. අදහස් සැමවිටම සාදරයෙන් පිළිගනිමු, සටහන් කිරීම දුෂ්කර විය.
cryptdisks_stop
පසුව / etc / crypttab වෙනුවට යාවත්කාලීන කර /etc/fstab
cryptdisks සමඟ නැවත ආරම්භ කරන්න cryptdisks_start
.
මූල සවිකරන අතරතුර සජීවී පද්ධතියක ext4 root කොටසක ප්රමාණය වෙනස් කිරීම අවසන්.
[root@habib i686]# resize2fs /dev/vg_habib/lv_root
resize2fs 1.42 (29-Nov-2011)
Filesystem at /dev/vg_habib/lv_root is mounted on /; on-line resizing required
old_desc_blocks = 4, new_desc_blocks = 10
Performing an on-line resize of /dev/vg_habib/lv_root to 38427648 (4k) blocks.
The filesystem on /dev/vg_habib/lv_root is now 38427648 blocks long.
[root@habib i686]#
මම මේ තොරව කළ umount
, pivot_root
ප්රධාන කොටස වන, හෝ තාවකාලික ඉවත් කිරීම, උබුන්ටු 16,04, 4.4.0 කර්නලය මත දෙබෑ 3.2 භාවිතා කිරීම. ප්රවේශම් වීම සඳහා මම ජාල අක්රීය කර ඇති අතථ්ය කොන්සෝලයක සිට සෑම දෙයක්ම කළෙමි, කලින්ම සැණෙකින් ඡායාරූපයක් ගත්තෙමි, නමුත් සැණෙළිය අවශ්ය නොවීය, එබැවින් මට මෙය SSH හරහා සහ ධාවන පථ වෙනස් නොකර කළ හැකිය.
කොටස් ප්රමාණය තීරණය කරන්න: parted /dev/sda1 print | egrep "Disk.*GB"
ජාලකරණයකින් තොරව විකල්පයක් ලෙස බහු-පරිශීලක මාදිලියට මාරුවන්න (කළ යුත්තේ කොන්සෝලයකින් මිස SSH වලින් නොවේ):
runlevel # remember the original runlevel
init 2
ප්රවේශම් වීමට විකල්පයක් ලෙස VM ඡායාරූපයක් ගන්න.
ප්රමාණය වෙනස් කරන්න:
parted
p
resizepart NUMBER SIZE
# answer "Yes" when asked about resizing a live partition.
q
ගොනු පද්ධතිය ප්රමාණය වෙනස් කරන්න: resize2fs /dev/sda1
කිසියම් දෙයක් වැරදුනහොත්, ඔබට ඔබගේ ඡායාරූපය මෙහි ප්රතිස්ථාපනය කළ හැකිය. සියලු දඩ ගොස් නම්, සාමාන්ය ක්රියා මට්ටම (ඉහත ලබා) වෙත ආපසු - සාමාන්යයෙන් 5: init 5
. සෑම දෙයක්ම නිසියාකාරව නැවත පැමිණෙන බවට වග බලා ගැනීම සඳහා මේ අවස්ථාවේ දී සම්පූර්ණ නැවත පණගැන්වීම වඩා හොඳ විය හැකිය (මට පසුව දිනය / එන්ටීපී ගැටලුවක් ඇති විය).
මෙම පියවර අනුගමනය කරන්න.
su
parted
p
පවතින කොටස් බැලීමට ටයිප් කරන්නrm PARTITION NUMBER
නිදහස් ඉඩක් නිර්මාණය කිරීම සඳහා යාබද කොටස මකන්න .resizepart ROOT NUMBER
අවශ්ය නම් පද්ධතිය නැවත ආරම්භ කරන්නparted
ටයිප් කිරීමෙන් exit
සහ ටර්මිනල් ටයිප් කර පිටවීම එන්ටර් කරන්න partprobe
(නැවත පණගැන්වීමෙන් පසුවද මෙය කළ හැකිය)resize2fs /dev/sda PARTITION NUMBER
කර ඉඩකඩ සහිත මූල කොටස් භුක්ති විඳින්න.පෙර සඳහන් කළ පරිදි:
මූල පද්ධතියකින් සජීවීව විස්තාරණය කළ හැකිය (ඇරඹුම් කොටස ගෙන යා යුතු බැවින් දුෂ්කරතා නොමැත)
සජීවී මූල කොටසක් හැකිලීම බාහිර ඇරඹුම් උපාංගයෙන් කළ යුතුය (සජීවී පද්ධතියෙන් ආරම්භ කිරීම සීඩී / යූඑස්බී-ස්ටික්), කිසියම් දෝෂයක් තිබේ නම්, නොගැලපීම .. කුමක් වුවත්..ඔබේ පද්ධතිය එල්ලී ඇති විට, නැවත ආරම්භ කළ යුතු අතර අවසානයේ එය සිදු නොවේ. නිවැරදිව ආරම්භ කිරීමට හැකියාව ඇත.
ඕනෑම ආකාරයක "නමුත් මම එය කළ අතර එය ක්රියා කරයි" පිරිසිදු වාසනාවකි.