移行実務 | VMware および Hyper-V から OpenStack への移行

移行実務 | VMware および Hyper-V から OpenStack への移行

  [[329658]]

導入

現在、5 年間稼働している VMware の完全なセットを保有しています。サーバーが徐々に廃棄されるにつれて、すべての VMware 仮想ホストを OpenStack に移行することにしました。 OpenStack は Kolla を使用してデプロイされた Train バージョンの高可用性環境であり、Ceph は独立してデプロイされた Nautilus バージョンです。

現在、220 台を超える VMware 仮想マシン (Linux および Windows) を VMware ESXi から OpenStack に移行する必要があります。 VMware ホストに加えて、少数の Hyper-V 仮想ホストも移行する必要があります。この記事では、仮想マシンの移行に使用する手順とコマンドについて説明します。これらの手順とコマンドを使用すると、移行を自動化するスクリプトを簡単に作成できます。

この移行には V2V のみが含まれ、P2V は含まれません。

比較すると、libguestfs-tools と qemu-img convert の新しいバージョンは VMDK ファイルを適切に処理できるため (ツールの古いバージョンにはいくつか問題があります)、移行はより効率的です。移行プロセスにより、VMDK から VMDK (単一ファイル) への変換手順と VMDK から RAW への変換手順が不要になります。これらの手順を減らすことで、移行速度が 2 倍になります。

この記事で紹介したコマンドの中には非常に強力なものがあり、Ceph および OpenStack の設定やデータを破壊する可能性があるため、移行プロセス中に使用するコマンドには注意してください。したがって、関連するコマンドは注意して使用してください。

グローバルステップ

  1. VirtIO ドライバーのインストール
  2. 拡張パーティション(オプション)
  3. 仮想マシンをカスタマイズする(オプション)
  4. Cinderボリュームの作成
  5. VMDK を Ceph に変換する
  6. Neutron ポートを作成する (オプション)
  7. OpenStack でのインスタンスの作成と起動

テクニカル指標

移行に使用されるインフラストラクチャの仕様は次のとおりです。

  • クラウドプラットフォーム: OpenStack Train
  • クラウドストレージ: Ceph
  • Windows インスタンス: Windows Server 2012R2 から 2016
  • Linux インスタンス: RHEL5/6/7、SLES、Debian、Ubuntu
  • ESXi からの VMDK ファイルのみを変換できます。qemu-img を使用して VMware Player からの VMDK ファイルを変換することはできません。
  • 暗号化されたディスクを使用しない移行
  • OpenStackはインスタンスにVirtIO準仮想化ハードウェアを提供する

必要

Linux「移行サーバー」(Ubuntu 14.04/16.04/18.04、CentOS6/CentOS7、Redhat6/Redhat7、Fedora19-22 が使用可能)であり、次の要件を満たす必要があります。

  • サーバー オペレーティング システム (以下で正常にテスト済み):
  • RHEL6 (RHEL7 には「libguestfs-winsupport」がありません)
  • Fedora 19、20、21、22
  • Ubuntu 14.04、16.04、18.04
  • 実行中の OpenStack 環境へのネットワーク接続。 「スーパー管理者」権限が必要なので、パブリックインターネットを経由しないことをお勧めします。通常、ローカル ネットワーク接続はインターネット接続よりも高速です。 10Gネットワ​​ークであることが保証されればさらに良いでしょう。
  • ディスクを変換し、KVM でインスタンスを実行するのに十分なハードウェア パフォーマンスと機能 (サイズは、一定期間内に移行するインスタンスによって異なりますが、SSD が最適です)。

私たちが使用したサーバーは、8 コアの Intel Xeon E3-1230 @ 3.3 GHz、64 GB RAM、8 台の 1 TB SSD で構成されており、1 時間あたり 500 GB を超えるデータを移行できました。ただし、これは実際にはインスタンスのディスク容量の使用量によって異なります。私の古い会社用ラップトップ (Core i5、8GB RAM、古い 4500rmp HDD) も動作しますが、パフォーマンスは明らかにひどいです。

移行前に次の要件を満たす必要があります。

  • Linux移行ホスト上でローカルsudo(ルート)権限を持っている
  • QEMU/KVM ホスト
  • OpenStack 権限 (Keystone を通じて取得)
  • Cephの対応する操作権限
  • OpenStack APIとCephへの無制限のネットワークアクセス
  • VirtIO ドライバー (Red Hat、Fedora などからダウンロード可能)
  • パッケージ (すべてのパッケージはデフォルトのディストリビューション リポジトリに存在する必要があります):
    • 「python-cinderclient」(クラウド ディスク用)
    • 「python-keystoneclient」(OpenStack への認証用)
    • 「python-novaclient」(コントロールインスタンス)
    • 「python-neutronclient」(ネットワークを制御するため)
    • 「python-httplib2」(Web サービスと通信できるようにするため)
    • 「libguestfs-tools」(ディスクファイルにアクセスするためのもの)
    • 「libguestfs-winsupport」(RHEL ベースのシステムのみに別途インストールする必要があります)
    • 「libvirt-client」(KVM を制御)
    • 「qemu-img」(ディスクファイルの変換)
    • 「ceph」(仮想ディスクをCephにインポート)
    • 「vmware-vdiskmanager」(VMDK ディスクの拡張に使用、VMware サイトからダウンロード可能)

ステップ

1. VirtIOドライバーを挿入する

1.1 Windows Server 2012

Windows Server 2012 および Windows 8.0 以降では、ドライバーは Windows によって保護されます。オフラインの Windows ディスクにドライバーを挿入するのは非常に困難です。 Windows Server 2012 は、デフォルトでは VirtIO ハード ディスクから起動できません。そこで、次の手順を実行して、VirtIO ドライバーを Windows にインストールしました。これらの手順は、テスト済みのすべての Windows バージョン (2008/2012/2016) で機能するはずです。

  1. 新しい KVM インスタンスを作成します。 Windows vmdk ディスクを IDE ディスクとして作成してください。ネットワーク カードは VirtIO デバイスである必要があります。
  2. Windows が VirtIO ドライバーをインストールできるように、追加の VirtIO ディスクを追加します。
  3. もちろん、ドライバーを含む VirtIO ISO またはフロッピー ドライブを追加する必要があります。また、virt-copy-in を使用してドライバー ファイルを挿入し、必要なレジストリ設定を挿入して、ドライバーを自動的にインストールすることもできます。
  4. 仮想マシンを起動し、Windows が新しい VirtIO ハードウェアを検出するまで約 2 分間待ちます。新しく検出されたハードウェアのドライバーをインストールします。ドライバーがインストールされていないデバイスがないことを確認します。
  5. システムをシャットダウンし、余分な VirtIO ディスクを取り外します。
  6. Windows vmdk ディスクを VirtIO ディスク (IDE) として再定義し、インスタンスを起動します。これで正常に起動するはずです。仮想マシンをシャットダウンします。

1.2 Linux (カーネル 2.6.25 以降)

Linux カーネル 2.6.25 以降には、VirtIO ハードウェアのサポートが組み込まれています。したがって、VirtIO ドライバーを挿入する必要はありません。 VirtIO ハードウェアを使用して新しい KVM 仮想マシンを作成して起動します。 LVM パーティションが自動的にマウントされない場合は、次のコマンドを実行して修復します。

  1. マウント -o 再マウント、rw /
  2. スキャン
  3. vgscan
  4. リブート

(再起動後、すべての LVM パーティションがマウントされ、Linux が正常に起動するはずです)

完了したら仮想マシンをシャットダウンします。

1.3 Linux (カーネル 2.6.25 以前)

一部の Linux ディストリビューションでは、古いカーネル バージョン用の VirtIO モジュールが提供されています。

  • Red HatはRHEL 3.9以降にVirtIOサポートを提供します
  • SuSeはSLES 10 SP3以降にVirtIOサポートを提供します

古いカーネルの手順は次のとおりです。

  1. KVM インスタンスを作成します。
  2. Linux (カーネル 2.6.25 より前): IDE ハードウェアを使用して KVM インスタンスを作成し、起動します (KVM では IDE コントローラーを 1 つしか構成できないため、ディスクは 4 つまでに制限されます)。この移行では 4 台以下のディスクを持つ Linux VM のみがあったため、SCSI または SATA は試しませんでした。 Linux は問題なく起動するはずです。
  3. virtio モジュールをロードします (ディストリビューション固有): RHEL (古いバージョン): https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Virtualization_Host_Configuration_and_Guest_Installation_Guide/ch10s04.html および SLES 10 SP3 システム: https://www.suse.com/documentation/opensuse121/book_kvm/data/app_kvm_virtio_install.html
  4. インスタンスをシャットダウンします。
  5. すべてのディスクを VirtIO ディスクに変更し、インスタンスを起動します。これで正常に起動するはずです。
  6. 完了したら仮想マシンをシャットダウンします。 Red Hat については、https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/6/html/Virtualization_Host_Configuration_and_Guest_Installation_Guide/ch10s04.html を参照してください。SuSe については、https://www.suse.com/documentation/opensuse121/book_kvm/data/app_kvm_virtio_install.htm を参照してください。

1.4 Windows Server 2008 (および以前のバージョン)推奨されません

2012 より前のバージョンの Windows の場合は、次の手順に従ってドライバーを挿入することもできます。

  1. 適切な Windows バージョンのすべての VirtIO ドライバー ファイルを C:Drivers にコピーします。 virt-copy-in ツールを使用して、ファイルとフォルダーを仮想ディスクにコピーできます。
  2. *.sys ファイルを %WINDIR%system32%drivers にコピーします (正しいディレクトリを見つけるには virt-ls を使用することをお勧めします。Windows では大文字と小文字の区別に注意してください)。 virt-copy-in ツールを使用して、ファイルとフォルダーを仮想ディスクにコピーできます。
  3. Windows レジストリはハードウェア ID とドライバーを組み合わせる必要がありますが、VirtIO ドライバーはデフォルトでは Windows にインストールされていません。したがって、私たち自身でそれを行う必要があります。 virt-win-reg を使用してレジストリ ファイルを挿入できます。すべての VirtIO ドライバーを C:Drivers 以外の場所にコピーする場合は、最後の行の "DevicePath" 変数を変更する必要があります (これを行う最も簡単な方法は、外部の Windows システムで変更を行い、移行した VM で使用するためにレジストリ ファイルをエクスポートすることです)。

レジストリ ファイル (VirtIO ストレージ情報のみを保持するため、mergeviostor.reg とも呼ばれます)。

  1. Windows レジストリ エディター バージョン 5.00
  2.  
  3. [HKEY_LOCAL_MACHINESYSTEMControlSet001ControlCriticalDeviceDatabasepci#ven_1af4&dev_1001&subsys_00000000]
  4. "ClassGUID" = "{4D36E97B-E325-11CE-BFC1-08002BE10318}" "サービス" = "viostor"  
  5. [HKEY_LOCAL_MACHINESYSTEMControlSet001ControlCriticalDeviceDatabasepci#ven_1af4&dev_1001&subsys_00020000]
  6. "クラスGUID" = "{4D36E97B-E325-11CE-BFC1-08002BE10318}"  
  7. 「サービス」 = 「viostor」  
  8.  
  9. [HKEY_LOCAL_MACHINESYSTEMControlSet001ControlCriticalDeviceDatabasepci#ven_1af4&dev_1001&subsys_00021AF4]
  10. "ClassGUID" = "{4D36E97B-E325-11CE-BFC1-08002BE10318}" "サービス" = "viostor"  
  11. [HKEY_LOCAL_MACHINESYSTEMControlSet001ControlCriticalDeviceDatabasepci#ven_1af4&dev_1001&subsys_00021AF4&rev_00]
  12. "クラスGUID" = "{4D36E97B-E325-11CE-BFC1-08002BE10318}"  
  13. 「サービス」 = 「viostor」  
  14.  
  15. [HKEY_LOCAL_MACHINESYSTEMControlSet001ControlCriticalDeviceDatabasepci#ven_1af4&dev_1004&subsys_00081af&rev_00]
  16. "ClassGUID" = "{4D36E97B-E325-11CE-BFC1-08002BE10318}" "サービス" = "viostor"  
  17. [HKEY_LOCAL_MACHINESYSTEMControlSet001Servicesviostor]
  18. "エラーコントロール" =dword:00000001
  19. 「グループ」 = 「SCSI ミニポート」  
  20. 「開始」 =dword:00000000
  21. 「タグ」 =dword:00000021
  22. 「タイプ」 =dword:00000001
  23. "ImagePath" = "system32driversviostor.sys"  
  24.  
  25. [HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersion]
  26. "デバイスパス" = 16 進数 (2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,00,5c,00,6 9,00,6e,00,66,00,3b,00,63,00,3a,00,5c,00,44,00,72,00,69,00,76,00,65,00,72,00,73,00,00,00

これらの手順を実行すると、Windows は BSOD なしで VirtIO ディスクから起動するはずです。

Windows の起動時に、他のすべてのドライバー (ネットワーク、バルーンなど) も自動的にインストールされます。

参照: https://support.microsoft.com/en-us/kb/314082 (Windows XP 用に書かれていますが、Windows 2003 および 2008 でも使用できます)。

参照: http://libguestfs.org/virt-copy-in.1.html および http://libguestfs.org/virt-win-reg.1.html

2. パーティションを拡張する(オプション)

移行された一部の Windows サーバーでは、Windows パーティション上の使用可能なディスク領域が限られていました。新しい管理アプリケーションをインストールするための十分なスペースがありません。したがって、vmware-vdiskmanager ツールを使用してディスクのサイズを増やすことができます。その後、OS からパーティションを拡張する必要があります。次の手順で仮想マシンをカスタマイズするときにこれを実行できます。

3. 仮想マシンをカスタマイズする(オプション)

OpenStack で実行できるようにオペレーティング システムを準備するには、一部のソフトウェア (VMware Tools やドライバーなど) をアンインストールし、パスワードを変更し、新しい管理ツールをインストールするなどする必要がある場合があります。スクリプトを作成することで、これを自動化できます。 virt-copy-in コマンドを使用して、スクリプトとファイルを仮想ディスクに挿入できるはずです。

3.1 Linuxでスクリプトを自動的に起動する

移行する必要のある Linux サーバーは少数であったため、Linux でスクリプトを手動で開始しました。そして簡単に自動化できます。

3.2 Windowsでスクリプトを自動的に起動する

RunOnce メソッドはすべての Windows バージョンで機能するため、Windows の起動時にスクリプトを開始するように選択できます。レジストリ ファイルを挿入することで、スクリプトを RunOnce に組み込むことができます。 RunOnce スクリプトは、ユーザーがログオンしている場合にのみ実行されます。したがって、Windows 管理者のユーザー名、パスワード、および AutoAdminLogon も値「1」で挿入する必要があります。 Windows が起動すると、定義したユーザーで自動的にログインします。完了したら、必ず仮想マシンをシャットダウンしてください。

Windows に自動的にログオンし (ユーザー「Administrator」、パスワード「Password」を使用)、C:StartupWinScript.vbs を起動するサンプル レジストリ ファイル:

  1. Windows レジストリ エディター バージョン 5.00
  2.  
  3. [HKEY_LOCAL_MACHINEソフトウェアMicrosoftWindows現在のバージョンRunOnce]
  4. 「スクリプト」 = 「cscript C:StartupWinScript.vbs」  
  5. 「パラメータ」 = 「」  
  6.  
  7. [HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionWinlogon]
  8. 「自動管理者ログオン」 = 「1」  
  9. 「ユーザー名」 = 「管理者」  
  10. 「パスワード」 = 「パスワード」  

4. Glanceイメージを作成する

現在の OpenStack プラットフォームでは、ストレージとイメージのバックエンドとして Ceph を使用しています。クラウド ディスクではなくイメージから起動してクラウド ホストを作成する場合は、glance-api を介してイメージをアップロードする必要があります。 vMware 上のクラウド ホストのシステム ディスク データ サイズは約 200G です。大きな RAW イメージまたは qcow2 イメージをアップロードする場合は、glance-api を介してアップロードする必要があるため、アップロード速度が遅くなります。この場合、まず Ceph にアップロードしてから、Glance で作成することができます。 Ceph バックエンドへの接続は通常 10G 光ポートであるため、アップロード速度は非常に速くなります。

具体的な手順は次のとおりです。

  • イメージIDとしてランダムなUUIDを生成する
  1. uuid=$(uuidgen)
  • rbdを介してイメージをアップロードし、対応するスナップショットとスナップショット保護を追加します。
  1. rbd -p images --image-format 2 イメージファイルをインポート $uuid  
  2. rbd -p イメージスナップ作成  --snap スナップ $uuid  
  3. rbd -p イメージ スナップ保護--snap スナップ $uuid  
  • Glanceはイメージを作成し、それをrbdイメージに関連付けます
  1. 一目でわかるイメージ-作成  --os-image-api-version 1 --id $uuid --name image_name --disk-format raw --container-format bare --is-public false --location rbd://$(ceph fsid)/images/$uuid/snap  

5. シンダーボリュームを作成する

インポートするディスクごとに、Cinder ボリュームを作成する必要があります。次のステップで Ceph ブロックデバイスを削除 (および ceph 直接インポートで再作成) するため、Cinder コマンドで指定するボリューム サイズは重要ではありません。 Cinder と Ceph 間のリンクを作成するために、Cinder ボリュームのみを作成します。

ただし、ボリュームはインポートする予定のディスクと同じサイズにする必要があります。これは、OpenStack 管理インターフェース (Horizo​​n) を持つユーザーにとっては簡単です。

次のコマンドを使用して cinder ボリュームを作成します (サイズは GB 単位です。cinder type-list で使用可能なボリューム タイプを確認できます)。

  1. シンダー作成  --display-name <ディスク名> <サイズ> --volume-type <ボリュームタイプ>  

次の手順で必要になるので、ボリューム ID をメモしておきます (次のコマンドを使用してボリューム ID を見つけることもできます)。

  1. 燃え殻リスト | grep <ディスク名>

Cinder コマンド情報: http://docs.openstack.org/cli-reference/content/cinderclient_commands.html

6. VMDKをCephに変換する

Cinder ボリュームが作成されると、VMDK ディスク ファイルを RBD ブロック (Ceph) に変換できます。ただし、最初に実際の Ceph ディスクを削除する必要があります。必ず正しい Ceph ブロックデバイスを削除してください。

まず、ディスクがどの Ceph プールに存在するかを知る必要があります。次に、Ceph からボリュームを削除します (volume-id は、前の手順「Cinder ボリュームの作成」で記録したボリューム ID です)。

  1. rbd -p <ceph_pool> rm volume-<ボリュームID>

次のステップは、VMDK ファイルを Ceph 上のボリュームに変換することです (すべての ceph パラメータはパフォーマンスを向上させるためのものです。vmdk_disk_file 変数は vmdk ファイルへのフルパスです。volume-id** は、前に書き留めた ID です)。

  1. qemu-img convert -p <vmdk_disk_file> -O rbd rbd:<ceph_pool>/volume-<ボリュームID>

仮想マシンのすべての仮想ディスクに対してこれを実行します。

気をつけて! rbd コマンドは非常に強力です (意図したよりも多くの Ceph 上のデータが破壊される可能性があるため、注意して使用してください)。

7. Neutron ポートを作成する (オプション)

場合によっては、固定 IP アドレスまたは MAC アドレスを設定する必要があります。これを行うには、Neutron を使用してポートを作成し、次のステップ (OpenStack でのインスタンスの作成および起動時の関連付け) でそのポートを使用します。まず、network_name (nova net-list) が何であるかを知っておく必要があります。そのためには、「Label」を使用する必要があります。必須は network_name のみです。追加することでセキュリティ グループを追加することもできます。

  1. --security-group <セキュリティグループ名>  

このパラメータはセキュリティ グループごとに追加します。つまり、6 つのセキュリティ グループを追加する場合は、このパラメータを 6 回追加する必要があります。

  1. 中性子ポート作成  --fixed-ip ip_address=<IPアドレス> --mac-address <MACアドレス> <ネットワーク名> --name <ポート名>  

次のステップで必要になるので、Neutron ポートの ID をメモしておきます。

8. OpenStackでインスタンスを作成して起動する

これで、Cinder ボリュームとオプションで Neutron ポートを持つインスタンスを作成する準備が整いました。起動ディスクのボリューム ID をメモします。ここで、選択するフレーバーの ID を知る必要があります。目的のフレーバーのフレーバー ID を取得するには、nova flavor-list を実行します。

これで、新しいインスタンスを作成して起動できます。

  1. nova boot <インスタンス名> --flavor <フレーバーID> --boot-volume <ブートボリュームID> --nic port-id=<neutronポートID>  

インスタンス ID をメモします。次に、次のコマンドを実行して、インスタンスに追加のディスクを追加します (ボリュームを追加する場合)。

  1. nova volume-attach <インスタンスID> <ボリュームID>

要約する

特に Windows では、移行プロセス中に障害が発生する可能性があります。ドライバーのバージョンが間違っていると、Windows システムでブルー スクリーンが発生する可能性が高くなるため、ドライバーを正しくインストールすることが非常に重要です。より大きなデータ ディスクの場合、このケースでは Ceph への直接アップロードを使用して、同じサイズの空のボリュームを置き換えます。 Image Glance 経由でアップロードしてからクラウド ディスクを作成すると、数倍の時間がかかります。したがって、Ceph を合理的かつ柔軟に使用すると、移行プロセスを大幅に高速化できます。

この記事では主に操作手順について説明します。バッチ操作の場合は、対応するオーケストレーション スクリプトを記述してバッチ移行を実行できます。スクリプトを実行する前に必ず徹底的にテストしてください。

<<:  Alibaba Cloud + DingTalk = PC + Windows? DingTalkは未来志向のオペレーティングシステムを目指しています

>>:  MongoDBは分散データソースを統合し、クラウドデータベースはデータレイクと検索機能をサポートします

推薦する

百度の新たな調整による新たなSEOの考え方

今年の百度は、いくつかの主要サイトの閉鎖やいくつかの大きな急落など、紆余曲折を経験した。特に最近、B...

外国ドメイン名一覧: 中国のドメイン名の概要

世界にはドメイン名がいくつあるのでしょうか? Xiaoye は正確な数を知りません。しかし、ドメイン...

たった1セットのツールでハイブリッドクラウド管理の悩みを解消

会議を主導した張氏は相変わらず元気いっぱいで、IT業界での20年以上の経験がその禿げた頭に刻み込まれ...

ファーウェイとパートナーが共同でOSS/BSS統合ラボを構築し、クラウドネットワーク産業の発展を加速

2021 MWC上海展示会で、ファーウェイのエグゼクティブディレクターである王涛氏は「インテリジェン...

インターネットを使って住宅を遊ぶ方法を教えます

インターネットでマーケティングを行う場合は、インターネットのルールに従い、オンラインプロモーションチ...

テンセントクラウドとエバーライトテクノロジーが共同で分散型金融ビジネスサービスフレームワークを立ち上げ、金融機関のデジタル変革を推進

5月22日、2019年テンセントグローバルデジタルエコシステムカンファレンスのスマートファイナンスセ...

建設業界におけるモバイルおよびクラウド テクノロジー: 建設業界の未来とは?

建設業界は世界で最も重要な産業の一つです。モバイルとクラウドのテクノロジーが建設業界に導入されつつあ...

結婚・出会い系サイトが互いの本性をさらけ出す:Jiayuan.com 詐欺師が横行、Baihe.com は偽の実名

「真剣な交際」を促進する2つのウェブサイトが最近対立している。 (TechWeb写真) 【TechW...

Funshine Sales の Luo Xu: SaaS サービスのネットワーク効果

コンテンツ1. インターネットの本質は、相互作用、接続、ネットワーキングです。エンタープライズサービ...

hostens: ワールドカップの賭け、最大 50% オフ、1T ハード ドライブ VPS は年間わずか 27 ドル

ワールドカップ期間中、リトアニアの老舗ホスティングブランドであるhostensも参加し、賞品付きのク...

Kafka ソースコード サーバーの起動プロセスの図解

これまでの「8」回の記事では、「シナリオ主導のアプローチ」を使用して、Kafka「ログシステム」のソ...

BaiduとToutiaoは何を議論しているのでしょうか?

隣の席の Xiao Ming があなたの宿題をコピーしたことを先生に証明するにはどうすればいいでしょ...

SEO 初心者が学ぶ大きなタブー

月収10万元の起業の夢を実現するミニプログラム起業支援プラン数日前、初心者の SEO 担当者から、検...

1万語の解釈:2019年のブランドマーケティングキーワードトップ10!

2019 年のマーケティング業界を振り返ると、一言で言えば「マーケティング業界は変わった」です。画面...

Oracle NetSuiteとGuopiao Informationが共同で新たな財務・税務エクスペリエンスを創出

2012年の全国的な営業税から増値税への試行プログラムから、「営業税から増値税への」徹底的な改革、「...