{"id":553,"date":"2011-09-05T04:01:03","date_gmt":"2011-09-05T02:01:03","guid":{"rendered":"http:\/\/www.superkikim.com\/?p=553"},"modified":"2015-09-02T16:16:12","modified_gmt":"2015-09-02T14:16:12","slug":"agrandir-ou-reduire-la-taille-dune-partition-sur-linux","status":"publish","type":"post","link":"https:\/\/akim.sissaoui.com\/en\/informatique\/agrandir-ou-reduire-la-taille-dune-partition-sur-linux\/","title":{"rendered":"Agrandir la taille d&#8217;une partition sur Linux"},"content":{"rendered":"<p>Si vous connaissez d\u00e9j\u00e0 les tenants et les aboutissants, rendez-vous en fin d&#8217;article pour un condens\u00e9 avec les commandes sans prise de t\u00eate&#8230;<\/p>\n<p>Linux est bien pratique, et beaucoup plus simple \u00e0 g\u00e9rer que Windows.<\/p>\n<p>Si vous utilisez un serveur de virtualisation, ou un SAN, vous pourriez avoir envie d&#8217;agrandir un LUN ou un disque virtuel, pour ensuite agrandir le un syst\u00e8me de fichier sur ledit disque ou LUN. Alors voici comment proc\u00e9der.<!--more--><\/p>\n<p>Pour saisir comment c&#8217;est possible, il faut bien comprendre ce que nous allons faire. Il y a trois couches pour arriver \u00e0 notre syst\u00e8me de fichier:<\/p>\n<ol>\n<li>Le disque dur, support physique de nos donn\u00e9es<\/li>\n<li>La partition, qui comme son nom l&#8217;indique est une surface &#8220;d\u00e9coup\u00e9e&#8221; sur le disque afin d&#8217;y mettre un syst\u00e8me de fichier (ou autre choses)<\/li>\n<li>Le syst\u00e8me de fichier. Celui-ci se compose d&#8217;une table d&#8217;allocation et\/ou d&#8217;un journal, et g\u00e8re le placement de vos donn\u00e9es sur le disque.<\/li>\n<\/ol>\n<p>Lorsqu&#8217;on agrandit le disque, on n&#8217;agrandit ni la partition, ni le syst\u00e8me de fichier. Lorsqu&#8217;on agrandit la partition, on n&#8217;agrandit pas le syst\u00e8me de fichier. Il s&#8217;agit donc bien de trois op\u00e9rations tout \u00e0 fait diff\u00e9rentes.<\/p>\n<p>Bien entendu, il va sans dire qu&#8217;il faut que l&#8217;espace ajout\u00e9 soit adjacent \u00e0 la partition que l&#8217;on souhaite agrandir. Par exemple, si vous avez trois partitions, sdb1, sdb2, et sdb3, cette derni\u00e8re \u00e9tant \u00e0 la fin du disque, il ne sera pas possible d&#8217;agrandir sdb1 ou sdb2&#8230; Dans ce cas, il vaut mieux opter pour la cr\u00e9ation d&#8217;un nouveau LUN ou d&#8217;un nouveau disque virtuel plus grand, et de faire une migration du contenu. C&#8217;est \u00e9galement tr\u00e8s simple \u00e0 r\u00e9aliser. Mais on y reviendra peut-\u00eatre dans un autre article.<\/p>\n<p>Dans notre exemple, nous allons opter pour un disque virtuel ou un LUN identifi\u00e9 dans notre syst\u00e8me linux comme \/dev\/sdb avec trois partitions: \/dev\/sdb1, \/dev\/sdb2 et \/dev\/sdb3. Nous souhaitons agrandir \/dev\/sdb3.<\/p>\n<p>Avant toute chose, je vous sugg\u00e8re fortement de faire une sauvegarde de vos donn\u00e9es. Elles ne risquent rien si on ne fait pas d&#8217;erreur de manipulation, mais si vous \u00eates dans le monde de l&#8217;informatique, vous devez bien savoir que le risque z\u00e9ro n&#8217;existe pas. Alors inutile de tenter le diable.<\/p>\n<p>Pour notre op\u00e9ration, les outils suivant vont nous \u00eatre n\u00e9cessaires:<\/p>\n<pre lang=\"text\">\r\nfdisk     # Il va nous permettre de supprimer et de refaire une partition \u00e0 la dimension souhait\u00e9e\r\nfsck      # Indispensable pour remettre les id\u00e9es en place dans notre partition\r\ntune2fs   # Il va nous permettre de supprimer le journal du disque et de le recr\u00e9er ensuite\r\nresize2fs # L'outil qui va redimensionner le syst\u00e8me de fichier\r\n<\/pre>\n<p>Dans notre exemple, la partition \/dev\/sdb3 que nous allons agrandir n&#8217;est PAS utilis\u00e9e pour une des partitions du syst\u00e8me (root, \/var, \/boot, etc&#8230;). Si elle l&#8217;\u00e9tait, nous ne pourrions pas la d\u00e9monter, et donc nous ne pourrions pas proc\u00e9der \u00e0 l&#8217;agrandissement du syst\u00e8me de fichier. Si vous souhaitez faire cette op\u00e9ration sur une partition syst\u00e8me mont\u00e9e, vous devez utiliser un rescueCD ou un LiveCD afin de pouvoir manipuler la partition en question.<\/p>\n<p>La premi\u00e8re \u00e9tape consiste donc \u00e0 agrandir le LUN ou le disque virtuel. <\/p>\n<p>Sur un Clariion, dans Navisphere, un simple clic-droit sur le volume et &#8220;Expand&#8221; vous donnera la marche \u00e0 suivre (il faut avoir cr\u00e9er un volume additionnel au pr\u00e9alable afin de cr\u00e9er un metalun). Sur un Dell|Compellent, pareil, mais sans avoir besoin de cr\u00e9er un volume auparavant. Compellent est beaucoup plus flexible. POur un Equallogic, il suffit de modifier la taille du volume. Pour les autres, lisez votre mode d&#8217;emploi&#8230; La r\u00e9ponse y est. Tous les SAN actuels permettent l&#8217;agrandissement d&#8217;un LUN. <\/p>\n<p>Sur VMWare Workstation, il est n\u00e9cessaire d&#8217;\u00e9teindre la machine virtuelle pour pouvoir agrandir le disque. Une fois la VM arr\u00eat\u00e9e, allez dans les param\u00e8tres de celle-ci, sur le disque \u00e0 agrandir, puis dans le menu le bouton Outils (ou Utilitaires ?), il y a une option Etendre (Expand). Tapez simplement la nouvelle taille souhait\u00e9e. POur ESXi, c&#8217;est plus facile. Sans \u00e9teindre la machine virtuelle, il est possible de changer la taille du disque dans les param\u00e8tres de celui-ci.<\/p>\n<p>Une fois cette op\u00e9ration faite, si la machine \u00e9tait \u00e9teinte, allumez-la, et la nouvelle taille de disque sera reconnue. Si vous avez fait cette op\u00e9ration sur une machine allum\u00e9e, il faut rescanner le bus. Le plus simple pour ce faire est d&#8217;utiliser l&#8217;excellent <a href=\"http:\/\/www.superkikim.com\/linux-attitude\/detecter-un-nouveau-disque-ou-lun-sur-un-systeme-linux-rescan-bus\/\" target=\"_blank\">script de rescan-scsi-bus.sh de Kurt Garloff et Hannes Reinecke<\/a><\/p>\n<p>Le script doit \u00eatre lanc\u00e9 avec le param\u00e8tre -r (remove) sinon la nouvelle taille ne sera pas reconnue.<\/p>\n<pre lang=\"bash\">\r\n.\/rescan-scsi-bus.sh -r\r\n<\/pre>\n<p>Pour v\u00e9rifier que la taille a bien chang\u00e9, faites un fdisk -l avant et apr\u00e8s la commande. Vous pourrez ainsi comparer la capacit\u00e9.<\/p>\n<p>Une fois cette op\u00e9ration effectu\u00e9e, nous pouvez proc\u00e9der \u00e0 l&#8217;\u00e9tape suivante, \u00e0 savoir l&#8217;agrandissement de la partition. Rappelons-nous que nous avons trois partitions existantes: sdb1, sdb2, et sdb3. Et c&#8217;est sdb3, qui est \u00e0 la fin du disque, que l&#8217;on souhaite agrandir. Pour ce faire, il va falloir la supprimer et la recr\u00e9er. <\/p>\n<p>Contrairement \u00e0 ce que l&#8217;on pourrait penser, supprimer une partition avec fdisk n&#8217;efface pas les donn\u00e9es sur le disque. Ce n&#8217;est qu\u2019une alt\u00e9ration de la table des partitions. D\u00e8s lors, supprimer la derni\u00e8re partition pour la recr\u00e9er plus grande ne pose aucun probl\u00e8me. Comme elle commencera sur le m\u00eame bloc que quand on l&#8217;a effac\u00e9e, elle retrouvera ses petits. <\/p>\n<p>ATTENTION: Si vous aviez effac\u00e9 sdb2 par exemple, et que maintenant vous faites votre op\u00e9ration, la nouvelle partition sdb3 commencera o\u00f9 commen\u00e7ait avant la partition sdb2, et vous ne retrouverez pas votre syst\u00e8me de fichier. Il est imp\u00e9ratif dans ce cas de figure de noter le d\u00e9but de la partition (en faisait un &#8220;p&#8221; pour voir la liste des partition) avant de l&#8217;effacer.<\/p>\n<p>Pour supprimer et recr\u00e9er la partition, celle-ci doit imp\u00e9rativement \u00eatre d\u00e9mont\u00e9e.<\/p>\n<pre lang=\"bash\">\r\numount \/dev\/sdb3\r\nfdisk \/dev\/sdb\r\nd       # pour effacer la partition (delete)\r\n3       # pour indiquer la partition sdb3\r\nn       # pour recr\u00e9er la partition\r\np       # pour recr\u00e9er une partition primaire\r\n3       # parce que c'est la partition 3 que l'on veut cr\u00e9er\r\n[Enter] # pour accepter le bloc propos\u00e9, \u00e0 savoir le premier bloc disponible, le m\u00eame que celui de la partition effac\u00e9e. \r\n[Enter] # pour accepter le bloc de fin, qui par d\u00e9faut, est le dernier bloc disponible\r\nw       # pour enregistrer les changements dans la table de partitions\r\n<\/pre>\n<p>La deuxi\u00e8me \u00e9tape est termin\u00e9e. Nous avons donc maintenant une disque plus grand, et une partition agrandie. Il reste \u00e0 agrandir le syst\u00e8me de fichier.<\/p>\n<pre lang=\"bash\">\r\ntune2fs -O ^has_journal \/dev\/sdb3 # va supprimer le journal du syst\u00e8me de fichier\r\nfsck -f -y \/dev\/sdb3              # afin d'assurer l'int\u00e9grit\u00e9 du syst\u00e8me de fichier\r\nresize2fs \/dev\/sdb3               # qui sans option va par d\u00e9faut agrandir le syst\u00e8me \r\n                                    # de fichier \u00e0 la taille de la partition\r\nfsck -f -y \/dev\/sdb3              # On rev\u00e9rifie l'int\u00e9grit\u00e9 des donn\u00e9es\r\ntune2fs -O has_journal \/dev\/sdb3  # Et enfin on recr\u00e9e le journal d'indexation\r\n<\/pre>\n<p>Et voil\u00e0. Op\u00e9ration termin\u00e9e. Vous avez un nouveau syst\u00e8me de fichier \u00e9gal \u00e0 l&#8217;espace ajout\u00e9 sur votre LUN ou disque virtuel.<\/p>\n<p>En condens\u00e9, \u00e7a donne ceci:<\/p>\n<ol>\n<li>Agrandissez le disque<\/li>\n<li>Rescannez le bus (<a href=\"http:\/\/wp.me\/pmY9d-91\" target=\"_blank\">voir le script<\/a>)<\/li>\n<li>D\u00e9montez la partition<\/li>\n<li>Effacez la partition<\/li>\n<li>Recr\u00e9\u00e9 la partition en vous assurant de la refaire sur le m\u00eame bloc ou secteur de d\u00e9part<\/li>\n<li>Supprimez le journal<\/li>\n<li>Agrandissez le syst\u00e8me de fichier<\/li>\n<li>Recr\u00e9ez le journal<\/li>\n<li>Plus qu&#8217;\u00e0 remonter la partition<\/li>\n<\/ol>\n<pre lang=\"bash\">\r\n.\/rescan-scsi-bus.sh -r\r\numount \/dev\/sdb3\r\nfdisk \/dev\/sdb\r\nd       # pour effacer la partition \/delete)\r\n3       # pour indiquer la partition sdb3\r\nn       # pour recr\u00e9er la partition\r\np       # pour recr\u00e9er une partition primaire\r\n3       # parce que c'est la partition 3 que l'on veut cr\u00e9er\r\n[Enter] # pour accepter le bloc propos\u00e9, \u00e0 savoir le premier bloc disponible, \r\n          # le m\u00eame que celui de la partition effac\u00e9e. \r\n[Enter] # pour accepter le bloc de fin, qui par d\u00e9faut, est le dernier bloc disponible\r\nw       # pour enregistrer les changements dans la table de partitions\r\ntune2fs -O ^has_journal \/dev\/sdb3\r\nfsck -f -y \/dev\/sdb3\r\nresize2fs \/dev\/sdb3\r\nfsck -f -y \/dev\/sdb3\r\ntune2fs -O has_journal \/dev\/sdb3\r\nmount \/dev\/sdb3 \/point_de_montage\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Si vous connaissez d\u00e9j\u00e0 les tenants et les aboutissants, rendez-vous en fin d&#8217;article pour un condens\u00e9 avec les commandes sans prise de t\u00eate&#8230; Linux est bien pratique, et beaucoup plus simple \u00e0 g\u00e9rer que Windows. Si vous utilisez un serveur de virtualisation, ou un SAN, vous pourriez avoir envie d&#8217;agrandir un LUN ou un disque [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[220],"tags":[56,72],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/akim.sissaoui.com\/en\/wp-json\/wp\/v2\/posts\/553"}],"collection":[{"href":"https:\/\/akim.sissaoui.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/akim.sissaoui.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/akim.sissaoui.com\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/akim.sissaoui.com\/en\/wp-json\/wp\/v2\/comments?post=553"}],"version-history":[{"count":14,"href":"https:\/\/akim.sissaoui.com\/en\/wp-json\/wp\/v2\/posts\/553\/revisions"}],"predecessor-version":[{"id":1150,"href":"https:\/\/akim.sissaoui.com\/en\/wp-json\/wp\/v2\/posts\/553\/revisions\/1150"}],"wp:attachment":[{"href":"https:\/\/akim.sissaoui.com\/en\/wp-json\/wp\/v2\/media?parent=553"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/akim.sissaoui.com\/en\/wp-json\/wp\/v2\/categories?post=553"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/akim.sissaoui.com\/en\/wp-json\/wp\/v2\/tags?post=553"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}